int diny6h = Integer.parseInt(Integer.valueOf(diny6).toString(), 10);
int diny7h = Integer.parseInt(Integer.valueOf(diny7).toString(), 10);
diny6h=diny6h-32;
diny7h=diny7h-32;
System.out.println(diny6h + " + " + diny7h);
}
Входящая: diny6=30
diny7=20
Преобразование из Int в Hex не работает в Java
напечатал: diny6h=16
diny7h=00
Что я хочу: diny6h=10
diny7h=00
Что я делаю неправильно здесь?
EDIT: ну ... цифры отправляются как hexadezimals и принимаются как десятичные числа, потому что другие числа в блоке (не diny6 и 7, но diny1 to diny5) необходимы как hexadezimals. но diny6 и 7 нужны как десятичные числа, но им не удается получить их так, как я хочу, я хочу отправить 35 (шестнадцатеричный), который он приходит, как 53 (dec), и должен быть вычислен как 10 (dec). Тот же вопрос: хотите отправить 20 (HEX) речь идет как 32 (дес) и должен печататься как 0
Короче:
Я посылаю 35, полученные в 53, но мне нужно 35 к уменьшите его на 20 и получите 15 ... как я это делаю?
EDIT:
Я извиняюсь за мой вчера cofusing. Чего мне нужно, чтобы преобразовать мое полученное значение в BCD-номер ... ничего с hex ^^ я должен удалить этот вопрос сейчас?
Чего вы действительно хотите достичь? 30 десятичных чисел не 10 hex, а 20 десятичных чисел не 00 hex –
Я считаю, что это не точная распечатка. –
Вы преобразовываете целые числа в шестнадцатеричные и используете переменные 'int' для хранения результата? Как вы собираетесь представлять «числа» от A до F? Кроме того, в чем смысл этой строки: Integer.parseInt (Integer.valueOf (diny7) .toString(), 10); '? Предполагая, что 'diny7' является строкой, вы затем конвертируете строку в целое число в строку целых чисел - да? – Thomas