java如何将十六进制0xFF5100A5转换为无符号int值,貌似java不支持无符号数据 java如何将十六进制0xFF5100A5转换为无符号int值,貌似java不支持无符号数据 java怎么存储无符号值??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你想把值表现出来,可以通过long和位移运算来处理hava a tryint a = 0xFF5100A5;long b = 0;for (int i=28; i>=0; i-=4) { b = b<<4 | (a>>>i & 0xF);}System.out.println(b);System.out.printf("%X\n", b); 无符号整数超过了Java的int类型的表达范围,用long是正解如楼上所说进行移位转储为long型 楼上都是正解。反正要用long数据类型,这里是另一种写法: int a = 0xFF5100A5; long b = 0x00000000FFFFFFFFL & a; System.out.printf("%016X", b);用屏蔽位的 谢谢大家的解答我之前是想用java把0xFF5100A5写到文件里面,结果发现写完后用16进制打开发现不对。后来我把它换成用字节写,就能得到正确的了。如下:希望哪位能给个详细的解释byte h1 = (byte) 0xA5;byte h2 = (byte) 0x00;byte h3 = (byte) 0x51;byte h4 = (byte) 0xFF; 用字符串写的?那他把你的每一个字符再解释成二进制怎么可能还是你原来的值转成byte本身就是二进制而不是你原来的"0" "x" "F"....等等单个字符 写文件用 write(byte[])方法写,读看你用什么流了,如果是DataInputStream的话,可以readInt,其他的可以read(byte[4])的方式,或者一个byte一个byte读 Frame显示图片问题额 求教java一个基本问题,对象相等的问题? 怎么样通过代码从VSS中获取文件? 请教一个Applet问题,平时接触的少不会做这方面的东东 面试归来,被一个小学的奥赛题放倒 关于自定义泛型类和方法的疑问,高手请进! 莫名其妙的问题,请大家帮忙看一下 关于Socket的菜鸟问题 大家都进来看看啊!!!(急) 二叉树的实现赋值不成功 java求教2个任意相同长度的(01)字符串如何快速的进行'与'或者'或'操作 求行列式的值
hava a try
int a = 0xFF5100A5;
long b = 0;
for (int i=28; i>=0; i-=4) {
b = b<<4 | (a>>>i & 0xF);
}
System.out.println(b);
System.out.printf("%X\n", b);
如楼上所说进行移位转储为long型
反正要用long数据类型,这里是另一种写法:
int a = 0xFF5100A5;
long b = 0x00000000FFFFFFFFL & a;
System.out.printf("%016X", b);用屏蔽位的
我之前是想用java把0xFF5100A5写到文件里面,结果发现写完后用16进制打开发现不对。
后来我把它换成用字节写,就能得到正确的了。如下:希望哪位能给个详细的解释
byte h1 = (byte) 0xA5;
byte h2 = (byte) 0x00;
byte h3 = (byte) 0x51;
byte h4 = (byte) 0xFF;
转成byte本身就是二进制而不是你原来的"0" "x" "F"....等等单个字符