java中16进制转byte的问题

一个byte用8位表示其中第一位为符号位,
因此最多表示-128-127。
我要将16进制转成byte,如果小于0X7F可以用一个字节表示.
但是大于0X7F用一个字节会导致溢出。
我想知道两个16进制位到底是用几个字节表示。
java是如果保存16进制的数据的。

两个16进制位到底是用几个字节表示,1个字节
byte是有符号的,所以是-128-127
大于0X7F用一个字节会导致溢出,应该不会,而是会变成负数。

两位16进制对应8位二进制
8位二进制对应一个字节
http://blog.csdn.net/wujian946110509/article/details/54091340

【1】java是如果保存16进制的数据的。

java的数据类型,,整形,浮点型等等,,,没听说过,,16进制数这种数据类型
16进制只是人们看的,,对于java(或者计算机来说)都是整形(长整型整形的特殊形式,两个整形)

java整形四个字节,

计算机中一般都是8位二进制位(如:1001 0001)表示1个字节Byte,1位16进制数表示4位二进制数(如: 0xA1 = (bit)1001 0001),
也就是说2位十六进制数表示1个字节(Byte),另外,不管什么语言,数据在内存中的形式都是以二进制的形式保存的,也就是说
同一个数据的八进制、十进制还是十六进制,彼此之间都是可以互相转化哒~

1字节
如果转换成16进制的话,byte会溢出,然后造成二进制的移位,会变成-128-127之间的数

每1位二进制数可以表示0或1,四位二进制数0000~1111可以表示0到15的数,所以一位16进制数可以用4位二进制数来表示,

两位16进制数当然就用8位二进制数来表示了。例如:16进制的0x3A ,3~0011,A~1010, 0x3A对应二进制数0011 1010。

在计算机中8位二进制位表示1个字节,刚好可以表示两位16进制数。

如果是无符号的byte,两个16进制数都表示从0~15,所以1个字节可以表示从0到255的任意值;

如果是有符号的byte,8位二进制中的第一位是符号位,1是负号,0是正号,可以表示从-128~127,

如果用16进制表示,第一位16进制数是0~7的话,符号是正,8~F,符号是负。大于0x7F并不会溢出,而是第1位从0变为1,

符号由正变为负,只有0xFF加1才会溢出置0.