java 16进制输出 x(整数,16进制)和h(散列码,16进制)

来源:百度知道 编辑:UC知道 时间:2024/09/21 17:53:45
请教一下,System.out.printf("%x ",...)
和System.out.printf("%h ",...)
x(整数,16进制)和h(散列码,16进制) ,不理解他们分别

以ffffffff为例:
整数0xffffffff表示的是一个 补码 表示的整数 -1,

散列码的ffffffff只是表示 4个字节全都是1的二进制数据,没有正数和负数之分。

java的System.out.printf只有一个参数。
这是什么代码?

System.out.printf("%x ",...) 输出的是一个数的16位制表达,开头会有0x作为标志,从0到15分别是0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xA,0xB,0xC,0xD,0xE,0xF。
其中A,B,C,D,E分别代表10,11,12,13,14,15.满16进一位。
System.out.printf("%h ",...) 则是这个数的二进制表示输出全为1和0.