Как вычесть или добавить два шестнадцатеричных значения в Java - PullRequest
2 голосов
/ 23 ноября 2011

Есть ли способ вычисления двух шестнадцатеричного значения без преобразования его в int?например:

String sHex = "f7c0";
String bHex = "040000000";

Ответы [ 2 ]

6 голосов
/ 23 ноября 2011

Шестнадцатеричные значения являются целыми числами - просто представлены в шестнадцатеричном, а не в десятичном виде.

Разве ты не можешь просто сделать это?

int sHex = 0xf7c0;
int bHex = 0x040000000;

Если нет, то вы действительно имели в виду:

String sHex = "f7c0";
String bHex = "040000000";

В этом случае самый быстрый способ сделать это - преобразовать их в целые числа, используя что-то вроде Integer.parseInt(sHex, 16);

0 голосов
/ 23 ноября 2011

Да, вы можете выполнять определенные (точнее, любые) вычисления со строками, которые содержат представления шестнадцатеричных значений.

Простой пример - проверка на равенство. Для этого вы конвертируете обе строки в нижний регистр, удаляете все начальные нули и применяете метод String.equals.

Другие расчеты сложнее. Но, эй, когда я был молодым, мы сделали все вычисления с бумагой и ручкой или с мелом на доске, следовательно, в принципе все, что можно вычислить, даже если все данные имеют форму символьных строк.

...