二进制、八进制、十进制、十六进制
二进制:以0B或0b开头
八进制:0开头 ---------077 (逢八进一)
十进制:正常表示 (逢十进一)
十六进制:以0x开头----------0xff (10 ~~ 15用 a ~ f 表示)(逢十六进一)
- 十进制 -----> 二进制
对 500 进行转换
我们先列一组 0000 0000 0000
从右向左分别代表 1 2 4 8 16 32 64 128 256 512…2^n (个人认为据此均以黑斜体字类似此操作更方便的得出结果)
- 我们发现第三个0代表的 512 > 500 ,就去看下一个0 ,代表 256,然后 500 - 256 =244 ,这时我们将代表 256 的 0 变为 1 , 244 - 128 = 116 ,然后将代表 128 的 0 变为 1 。。。依次类推得500的二进制数为 1 1111 0100
-
二进制 -----> 十进制
101 1110 1101 = 1 + 4 + 8 + 32+64 + 128 + 256 + 1024 = 1517 -
二进制 -----> 十六进制
每四位进行分割,前面不够位数的补0.
对 101 1110 1101 进行转换,即对 0101 1110 1101 进行转换。
每四位从右向左分别代表 1 2 4 8 ,是 0 的不进行计算,是 1 的使用所代表的数进行相加,最终以 0x 开头,后面写每四位所得的数(10 ~~ 15用 a ~ f 表示),即 0101 1110 1101 = 0x5ed.
0101 ----> 5
1110 ----> e
1101 ----> d -
十六进制 ----> 二进制
把每一位都分解成4个二进制数。
0xbd9f = 1011 1101 1001 1111
b ----> 1011
v ----> 1101
9 ----> 1001
f ----> 1111 -
二进制 ----> 八进制 (八进制几乎用不到)
每三位进行分割。
111 = 7 (逢八进一)
001 011 110 110 011 111 = 0136637 *** (0开头) ***
001 ----> 1
011 ----> 3
110 ----> 6
110 ---->6
011 ----> 3
111 ----> 7