如何使Java代码计算十六进制乘法? (长度只有8位。)
例如,我有十六进制ab
和05
,以及F0 * 02 = fb
(可能)。
但我不知道为什么答案是fb
。
你能教我如何用java代码制作这个吗?
答案 0 :(得分:1)
手动,十六进制是 base-16 ,所以:
Hex Decimal
base 16 base 10
0 = 0
1 = 1
2 = 2
...
9 = 9
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
所以十六进制值AB
为((A = 10) * 16) + (B = 11))
或160 + 11 == 171
。
在图片中加入“8位”,单个byte
(按照惯例, octet )由8位组成。 8位足以表示256个唯一值,而 unsigned 形式表示0-255十进制值,或0x00
到0xFF
十六进制值。您可能会注意到这意味着任何8位值都可以用正好两(2)个十六进制数字表示。
在代码中,您可以使用0x
前缀以十六进制表示法输入文字。
int answer = 0xF0 * 0x02;
System.out.printf("%x%n", answer);
Formatter(或类似System.out.printf
)可以轻松地将结果转换回十六进制。但如果这是作业作业,你的导师就不会喜欢这个答案。