Skip to content

byte[] && 二进制 && 十进制 && 十六进制

L edited this page Dec 28, 2020 · 6 revisions

byte[] && 二进制

byte[]=byte的数组=8位二进制单元的数组=0-255的数字的数组

byte=8位二进制单元=2^8=256(0-255范围)=1字节

二进制 && 十进制

二进制->十进制:
二进制的每一位*2^(所在位-1),再求和
eg.

10010110
=1*2^7+0*2^6+0*2^5+1*2^4+0*2^3+1*2^2+1*2^1+0*2^0
=128+16+4+2
=150

十进制->二进制:
每一位=十进制数(或者它的余数)/2^(当前位数-1)的商
eg.

150/128=1——余数22
22/64=0——22
22/32=0——22
22/16=1——6
6/8=0——6
6/4=1——2
2/2=1——0
0/1=0——0
结果为10010110

十六进制 && 十进制与上述类似

十六进制

十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
二进制 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

二进制 && 十六进制

二进制->十六进制:
首先把它分为每4位一组来转换为十六进制(如果位总数不是4的倍数,最左边的一组可以少于4位,前面用0补足)
然后将每个4位组转换为相应的十六进制数字

二进制 11(补足为0011) 1100 1010 1101 1011 0011
十六进制 3 C A D B 3

十六进制->二进制:
展开每个十六进制数字,将其转换成二进制格式

十六进制 1 7 3 A 4 C
二进制 0001 0111 0011 1010 0100 1100

示例代码

HexAndBytesDemo

参考资料

How do you convert a byte array to a hexadecimal string, and vice versa?
hex to float conversion
How can I convert a hex string to a byte array? [duplicate]

Clone this wiki locally