java中byte的范围为:127~-128(7位:111,1111),但是十六进制有8位(0xff:11111111)。
byte只能表示小于0x7f的数据。
但是我要在程序中发送byte(8bit)的数据,最后要转换为十六进制显示出来。
如何解决他们的不相容???
谢谢!!!
byte只能表示小于0x7f的数据。
但是我要在程序中发送byte(8bit)的数据,最后要转换为十六进制显示出来。
如何解决他们的不相容???
谢谢!!!
不是长度8位就是8bit。byte是占8位的,因为高位时表示符号的。。7个1表示正数127.
你的问题根本不是问题。
16进制转换成byte一般都是转换成一个byte数组。、
比如:16进制的字符:FFFFFF,注意是字符串,不是数字,转成byte数组就是[-1,-1,-1],如果你传的是这个数组,那么接收到转换成16进制就是FFFFFF。
如果是数字的0xFFFFFFFF,你猜它表示的10进制是多少??是-1。其2进制就是32个1。因为计算机表示数字都是以补吗形式表现的。