У меня есть шестнадцатеричное значение «FF30» в строковом формате. Мне нужно значение дополнения этого номера этого числа. Теперь я делаю, сначала преобразовывая его в двоичный, а затем принимая дополнение 2 . Есть какой-то простой способ.Получение дополнения 2 от значения шестнадцатеричной строки в java
-2
A
ответ
1
Нужно ли применить операцию дополнения 2 к этому значению или вам нужно просто интерпретировать ее как номер дополнения 2? Если последний, то пропустите вторую строку кода ниже.
Я думаю, что это сработает для вас.
int val = Integer.parseInt("FF30", 16);
int result = (~val) + 1;
Update
Поскольку вы подразумеваете в комментариях, что вы хотите результат преобразуется обратно в строку, это просто вопрос вызова «toHexString» и отрубания любых мягких бит, которые были префиксами
String hex = "FF30";
int length = hex.length();
long value = Long.parseLong(hex, 16); // convert hex string to long
long result = (~value) + 1; // compute the 2's complement
// convert the result value back to a hex string (keeping the same length and dropping any sign-extension bits)
String resultAsString = Long.toHexString(result);
// chop off the prefix of the string so the result is the same length as the input
int newLength = resultAsString.length();
if (newLength > length)
{
resultAsString = resultAsString.substring(newLength-length);
}
System.out.print(resultAsString);
Смежные вопросы
- 1. Применение дополнения 2 в шестнадцатеричной строке в java
- 2. Получение информации из шестнадцатеричной строки
- 3. Значения сканирования шестнадцатеричной строки
- 4. Java Строка для шестнадцатеричной строки
- 5. Java конвертировать Base64 в шестнадцатеричной строки
- 6. java: преобразование шестнадцатеричной строки числа в десятичный
- 7. Преобразование шестнадцатеричной строки в двоичную строку - Java
- 8. Получение значения строки из перечисления в Java
- 9. Получение значения json от json в java
- 10. Преобразование шестнадцатеричной строки в изображение
- 11. Десятичной Строки шестнадцатеричной строки
- 12. Преобразование шестнадцатеричной строки в строку
- 13. Получение значения выбранной строки в AbstractTableModel Java
- 14. Получение Целочисленного значения от JComboBox в java
- 15. Преобразование шестнадцатеричной строки в десятичную.
- 16. Печать шестнадцатеричной строки в python
- 17. Получение или установка длины шестнадцатеричной строки в Php
- 18. Как сканировать файл базы данных для шестнадцатеричной строки в Java
- 19. подписал арифметику дополнения 2
- 20. Формат шестнадцатеричной строки в PHP
- 21. Получить часть шестнадцатеричной строки
- 22. Преобразование шестнадцатеричной строки в данные
- 23. Получение значения строки от объекта Json Android
- 24. Печать адрес шестнадцатеричной строки вместо значения строки шестнадцатеричных
- 25. Получение изображения JPEG из шестнадцатеричной строки в XML
- 26. Значения отображаются в виде шестнадцатеричной
- 27. Преобразование шестнадцатеричной строки в ее числовые значения в C#
- 28. Получение длинного значения от R до java
- 29. код сборки для дополнения 2
- 30. Python3 байт в шестнадцатеричной строки
Здесь первые два байта формирует значение => FF30 H => FF30 H - 1 = FF2F H Теперь возьмите 1 в комплимент выше значение => 00D0 H это на самом деле мне нужно сделать. – user3336240
, но FF30 в строчной форме ... – user3336240
@ user3336240 - вы никогда не заявляли в своем вопросе, что вам нужен результат, чтобы быть строкой. Но я обновил свой ответ на этот счет. – selbie