——二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”(十进制加减法是“逢十进一”、“借一当十”)。数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。每个数字称为一个比特(二进制位)。计算机中的二进制是一个非常微小的开关,用“开”来表示1,“关”来表示0。
附:
比特(位元) bit → 字节byte → 字符
bit:一个二进制数据 0 或 1,是 1 bit
byte & 字符:存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节。
ASCII 编码中:1 字母(标准字符) = 1 byte = 8 bit ,1 汉字 = 2 byte = 16 bit。
汉字输入状态下,默认为全角输入方式,标点符号占2字节
英文输入状态下,默认为半角输入方式,标点符号占1字节
进制转换
应用:IP 地址有 32 位,由 4 个 8 位的二进制数组成,如 11000000.10101000.00000010.00010100。由于二进制数不便记忆而且可读性较差,所以通常会转换成十进制数表示,如 192.168.2.20。一个 IP 地址通常用 3 个点分开的十进制数表示,成为点分十进制。
十进制转二进制
- 十进制整数转二进制数:除以2取余,逆序排列,高位补零(除二取余法)
- 十进制小数转二进制数:“乘2取整,顺序排列”(乘2取整法)
整数部分:
59 ÷ 2 = 29 ... 1
29 ÷ 2 = 14 ... 1
14 ÷ 2 = 7 ... 0
7 ÷ 2 = 3 ... 1
3 ÷ 2 = 1 ... 1
1 ÷ 2 = 0 ... 1
小数部分:
0.25×2=0.5
0.50×2=1.0
也可以公式来计算
59.2510= 101*10101+1001*10100+10*1010-1+101*1010-10 = 101*1010+1001+10/1010+101/1010/1010 = 110010+1001+(10+0.1)/1010 = 111011+0.01 = 111011.01
方法:“按权展开求和”:
- 1001012 = [ ( 1 ) × 25 ] + [ ( 0 ) × 24 ] + [ ( 0 ) × 23 ] + [ ( 1 ) × 22 ] + [ ( 0 ) ×21 ] + [ ( 1 ) ×20 ]
- 1001012 = [ 1 × 32 ] + [ 0 × 16 ] + [ 0 × 8 ] + [ 1 × 4 ] + [ 0 × 2 ] + [ 1 × 1 ]
- 1001012 = 3710
十进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
二进制 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
十进制 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
二进制 | 1011 | 1100 | 1101 | 1110 | 1111 | 10000 | 10001 | 10010 | 10011 | 10100 | 10101 |
十进制 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
二进制 | 10110 | 10111 | 11000 | 11001 | 11010 | 11011 | 11100 | 11101 | 11110 | 11111 | 100000 |