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
印刷:diny6h=16
diny7h=00
私が欲しいもの:diny6h=10
diny7h=00
ここで何が間違っていますか?
編集:まあ..ブロック内の他の数字(diny6と7ではなく、diny1からdiny5)が16進数として必要であるため、数字は16進数として送信され、10進数として受信されます。しかし、diny6 と 7 は 10 進数として必要ですが、35 (16 進数) を送信したいのですが、53 (10 進数) として入力され、10 (10 進数) として出力されます。同じ問題: 20(16 進数) を送信したい場合、32(10 進数) として送信され、0 として出力されます。
要するに:
私は 35 を送信し、53 として受信しましたが、20 だけ減らして 15 を取得するには 35 が必要です...どうすればよいですか?
編集:
昨日は混同して申し訳ありません。必要なのは、受信した値を BCD 番号に変換することです... 16 進数は何もありません ^^ 今この質問を削除する必要がありますか?