进制转换:
十进制 转 二进制
原理: 对十进制数进行 除 2 的运算 取余数
6 --> 110
二进制 转 十进制
原理: 二进制 乘以 2 的n次幂 的过程
110 ->
0*2(0) + 1*2(1) + 1 * 2(2)
0 + 2 + 4
=6
2(0) -->1
2(1) -->2
2(2) -->4
0 0 1 1 0 1 0 1
128 64 32 16 8 4 2 1 = 53
当 8个bit 都是 1 最大是 255 那么一个字节最大就是 255
ip地址 一个段最大就是 255
5 + 4 = 9
101
+ 100
------
1001 内存中的计算方式
(快速进制转换法)
8421码
负数的二进制
其实就是 十进制数 转换成 二进制数后 取反+1
6 = 110
-6
一个整数类型 是 4个字节 1 int = 4 byte = 32 bit
0000-0000 0000-0000 0000-0000 0000-0110
1111-1111 1111-1111 1111-1111 1111-1001 取反
+ 0000-0000 0000-0000 0000-0000 0000-0001 +1
--------------------------------------------------
1111-1111 1111-1111 1111-1111 1111-1010 = -6
二进制 转 十六进制
先将十进制 转成 二进制 --> 十六进制
四个二进制位 就是 一个 十六进制位
1111 最大值是 8+4+2+1 = 15 逢16进1
90
0101-1010
---- ----
5 10-->A 90 --> 0x5A
二进制 转 八进制
三个二进制位 就是一个 八进制位
111 = 4+2+1 = 7 逢8进1
前面位数不够 拿0补
001-011-010
--- --- ---
1 3 2 = 0132
十进制 转 二进制
原理: 对十进制数进行 除 2 的运算 取余数
6 --> 110
二进制 转 十进制
原理: 二进制 乘以 2 的n次幂 的过程
110 ->
0*2(0) + 1*2(1) + 1 * 2(2)
0 + 2 + 4
=6
2(0) -->1
2(1) -->2
2(2) -->4
0 0 1 1 0 1 0 1
128 64 32 16 8 4 2 1 = 53
当 8个bit 都是 1 最大是 255 那么一个字节最大就是 255
ip地址 一个段最大就是 255
5 + 4 = 9
101
+ 100
------
1001 内存中的计算方式
(快速进制转换法)
8421码
负数的二进制
其实就是 十进制数 转换成 二进制数后 取反+1
6 = 110
-6
一个整数类型 是 4个字节 1 int = 4 byte = 32 bit
0000-0000 0000-0000 0000-0000 0000-0110
1111-1111 1111-1111 1111-1111 1111-1001 取反
+ 0000-0000 0000-0000 0000-0000 0000-0001 +1
--------------------------------------------------
1111-1111 1111-1111 1111-1111 1111-1010 = -6
二进制 转 十六进制
先将十进制 转成 二进制 --> 十六进制
四个二进制位 就是 一个 十六进制位
1111 最大值是 8+4+2+1 = 15 逢16进1
90
0101-1010
---- ----
5 10-->A 90 --> 0x5A
二进制 转 八进制
三个二进制位 就是一个 八进制位
111 = 4+2+1 = 7 逢8进1
前面位数不够 拿0补
001-011-010
--- --- ---
1 3 2 = 0132