关于int类型以16进制表示的问题

最近看关于进制转换的问题,https://blog.csdn.net/zhengTornado/article/details/84818993此为原帖。下面int-1以16进制形式表示不应该是0xffffffff吗?


public static void main(String[] args) {

int valueTen[] ={-69, -52, -86, 0, 17, 34, 51, 68, 8 5, 102, 119, -120, -103, -86, -69, -52, -35, -18, -1};

String arr[]=new String[valueTen.length];

for (int i = 0; i < valueTen.length; i++) {

String strHex = Integer.toHexString(valueTen[i]);

if(!(strHex.length()>6)){

arr[i]=strHex;

System.out.println(valueTen[i] + " [十进制]---->[十六进制] "+ "0x"+strHex);

}else{ //处理负数

String sub=strHex.substring(6, strHex.length());

arr[i]=sub;

System.out.println(valueTen[i] + " [十进制]---->[十六进制] "+ "0x" + sub);

}

}

for (int i = 0; i < arr.length; i++) {

System.out.print(arr[i]+" ");

}

}



运行结果

-69 [十进制]---->[十六进制] 0xbb
-52 [十进制]---->[十六进制] 0xcc
-86 [十进制]---->[十六进制] 0xaa
0 [十进制]---->[十六进制] 0x0
17 [十进制]---->[十六进制] 0x11
34 [十进制]---->[十六进制] 0x22
51 [十进制]---->[十六进制] 0x33
68 [十进制]---->[十六进制] 0x44
85 [十进制]---->[十六进制] 0x55
102 [十进制]---->[十六进制] 0x66
119 [十进制]---->[十六进制] 0x77
-120 [十进制]---->[十六进制] 0x88
-103 [十进制]---->[十六进制] 0x99
-86 [十进制]---->[十六进制] 0xaa
-69 [十进制]---->[十六进制] 0xbb
-52 [十进制]---->[十六进制] 0xcc
-35 [十进制]---->[十六进制] 0xdd
-18 [十进制]---->[十六进制] 0xee
-1 [十进制]---->[十六进制] 0xff
bb cc aa 0 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff



全部评论

相关推荐

比亚迪汽车新技术研究院 硬件工程师 总包21左右 硕士
点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务