数制和码制
1.1 数制
基数 或 底 Radix
十进制 (Decimal):
0~9,逢十进一,借一当十
R进制:
0~R,逢R进一,借一当R
二进制(Binary):
0,1, 逢二进一,借一当二
数制转换
二进制 ? 十进制: 按权相加法
十进制 ? 二进制: 整数—除二取余法
小数—乘二取整法
商 0 ? 1 ? 2 ? 4 ? 9 ? 19 ? 38 / 2
余数 1 0 0 1 1 0
0.31 X 2 ? .62 ? .24 ? .48 ? .96 ? .92 积(小数)
0 1 0 0 1 积(整数)
1.1.5 八进制与十六进制
主要用于二进制数的书写与表示
八进制(Octal):
0~7,逢八进一,借一当八
三位二进制数:000~111 ?? 八进制数:0~7
二进制 xxx xxx . xxx xxx
↓ ↓ ↓ ↓
y y . y y 八进制数
( 110 101 001.011 000 101 )b
( 6 5 1 . 3 0 5 )o
十六进制数(Hexidecimal):
0~9,A,B,C,D,E,F 逢十六进一,借一当十六
四位二进制数:0000~1111 ?? 十六进制数:0~F
二进制 xxxx xxxx . xxxx xxxx
↓ ↓ ↓ ↓
y y . y y 十六进制数
( 0001 1010 1001.0110 0010 1000 )b
( 1 A 9 . 6 2 8 )h
1.2 数在计算机中的表示
1.2.1 数与码
二进制数又称二进制码,是计算机中最基本的编码形式。
二进制码除了可以直接表示二进制数之外,还能表示:
符号、文字、命令、操作、图像、视频、语音等。
整数的表示
(1)原码:
符号位 有效数字、尾数
S
M
+3: -3: 早期的计算机要求用加法实现减法,因而出现了反码和补码。
(2)反码: 正数的反码与原码相同,
负数的反码由相应的正数按位取反
符号位 有效数字、尾数
S
M’
+3: -3: (3)补码:正数的补码与原码相同,
负数的补码由相应的反码加一。
符号位 有效数字、尾数
S
M’
+3:
-3: 012345678910 11 12 13 14 15
3 + 0 = 3
3 + 1 = 4
3 + 2 = 5
3 + 3 = 6
3 + 4 = 7
3 + 5 = 8 3 + 5 = -8 溢出
3 + 6 = 9 3 + 6 = -7 溢出
3 + 7 = 103 + 7 = -6 溢出
3 + 8 = 113 + 8 = -53 -8 = -5
3 + 9 = 123 + 9 = -4 3 - 7 = -4
3 + 10 = 13 3 + 10 = -33 – 6 = -3
3 + 11 = 14 3 + 11 = -23 – 5 = -2
3 + 12 = 15 3 + 12 = -1 3 – 4 = -1
3 + 13 = 0 3 – 3 = 0
3 + 14 = 1 3 – 2 = 1
3 + 15 = 2 3 – 1 = 2
1.2.3定点数与浮点数
在计算机中小数点没有专门的符号表示,只对其位置作相应的约定
(1)定点数(Fixed-Point):
约定一个小数点位置,其运算与整数相同。
S
I
默认小数点位置?
S
F?
? 默认小数点位置
(2)浮点数(Floating-Point):
由阶码和尾数组成,类似于科学记数法: 0.123?103
SC
C
S
I
阶码 默认小数点位置?
SC
C
S
F?
阶码 ? 默认小数点位置
(3)IBM?浮点数格式
S
C
F?
0 1 ~ 7 ?8 ~ 31(63)
(4)IEEE浮点