二进制
数制
一般数制:
为基数,表示为 进制 为 幂的系数 0~R-1
常用数制:
符号 | 英文名 | 名称 | 基数 | 前缀 |
---|---|---|---|---|
B | binary | 二进制 | 2 | |
O | octal | 八进制 | 8 | |
D | decimal | 十进制 | 10 | 0 |
H | hexadecimal | 十六进制 | 16 | 0x |
其中十六进制使用:0~9、A、B、C、D、E、F |
a=int('number',base=n)
二进制
使用 0 和 1 将事物或状态联系起来
- 利用 0 与 1 的“有/无、是/否、开/关”状态进行抽象与建模
- 数字电路、信息表示,均以二进制为基础
- 计算机的“开关”本质:高电平=1,低电平=0
带符号的二进制数
原码 Sign Magnitude:最高位为符号位,
反码 One's Complement:符号位不变,其余数值位逐位取反
补码 Two's Complement:反码的最低位 +1
计算机内部采用补码进行运算,便于加法统一处理正负数
数值 | 原码 | 反码 | 补码 |
---|---|---|---|
+5 | 00000101 | 00000101 | 00000101 |
-5 | 10000101 | 11111010 | 11111011 |
8421 BCD 码
Binary-Coded Decimal
二进制编码的十进制码,每个十进制数字(0-9)都被编码为一个四位的二进制数。这种编码方式使得十进制数的运算可以直接在计算机中进行,而不需要进行额外的转换步骤
例如:
18 的二进制码为:16+2 0001 0010
BCD 码则为:10+8 0001 1000
前一个四位表示十位 1 ,后一个四位表示个位 8
模二运算
模二加/减法
减法和加法的运算规则相同,每一位进行异或运算,不进行借位进位
1111+1010=1111-1010=0101
模二除法
每一位异或运算,不断右移
000110101 商
---------
101001000
1101
---------
01110
1101
---------
001110
1101
---------
001100
1101
---------
0001 余数