编辑: 被控制998 | 2019-10-25 |
[email protected] 3. 浮点的运算方法 1. 数据的表示方法和转换 4. 运算部件 2. 带符号二进制数的四则运算 5. 数据校验码
第三章 运算方法和运算部件 3.1 数据的表示方法和转换 3.1.1 数值型数据的表示和转换1.数制 二进制(B) 八进制(O) 十进制(D) 十六进制(H) 两要素:基数( Radix ) 权(weight )十进制 (Decimal)二进制(Binary) 例3.1(1101.0101)2 = (1・23+1・22+0・21+1・20 +0・2-1+1・2-2+0・2-3+1・2-4)10 = (8+4+0+1+0+0.25+0+0.0625)10 =(13.3125)10八进制 十六进制 为什么日常生活中我们使用10进制而不使用二进制? 思考 为什么计算机采用二进制? 8进制和16进制存在的意义在于何处? 各进制的地位和关系? 各种进制数之间的关系
1 5
1 4
1 3
1 2
1 1
1 0
9 8
7 6
5 4
3 2
1 0 十进制数(D) F
1 7
1 1
1 1 E
1 6
1 1
1 0 D
1 5
1 1
0 1 C
1 4
1 1
0 0 B
1 3
1 0
1 1 A
1 2
1 0
1 0
9 1
1 1
0 0
1 8
1 0
1 0
0 0
7 0
7 0
1 1
1 6
0 6
0 1
1 0
5 0
5 0
1 0
1 4
0 4
0 1
0 0
3 0
3 0
0 1
1 2
0 2
0 0
1 0
1 0
1 0
0 0
1 0
0 0
0 0
0 0 十六进制(H) 八进制数(O) 二进制数(B) 2. 不同数制间的数据转换 (1)二进制数、八进制数和十六进制数之间的 转换方法遵守分组原则例3.4(1 101.010 1)2=(001 101.010 100)2=(15.24)8例3.5(1 1101.0101)2=(0001 1101.0101)2=(1D.5)16例3.6 (15.24)8=(001 101.010 100)2=(1101.0101)2 (2) 二进制数转换成十进制数 利用公式 进行计算. (3) 十进制数转换成二进制数 整数部分: 除2取余数法 例3.7 (105)10=(1101001)2 小数部分:乘2取整数法 例3.8 (0.312 5)10=(0.0101)2 (0.312 8)10=(0.0101)2 最后合并:整数+小数 (4) 十进制数转换成八进制数3. 数据符号的表示机器中的数值一般用"符号位+绝对值"表示,一般用0表示正号,1表示负号. 3.1.2 十进制数的编码与运算 1.十进制数位的编码与运算有权码 表示一位十进制数的二进制码的每一位有确定的权 8421BCD码 ,简称BCD码(binary coded decimal)对运算结果修正:过9加6 其他有权码:2421,5211,4311码8421BCD码运算举例 1+8=90
0 0 1+1
0 0
01 0
0 1 4+9=130
1 0 0+1
0 0
11 1
0 1+
1 1
0 1
0 0
1 1 7+9=160
1 1 1+1
0 0
1 1
0 0
0 0+
1 1
0 1
0 1
1 0 8421BCD码运算举例 1+8=90
0 0 1+1
0 0
01 0
0 1 4+9=130
1 0 0+1
0 0
11 1
0 1+
1 1
0 1
0 0
1 1 7+9=160
1 1 1+1
0 0
1 1
0 0
0 0+
1 1
0 1
0 1
1 0 思考:为什么计算结果要修正? 表3.2 4位有权码
1 1
1 1
1 1
1 1
1 1
1 1
1 0
0 1
9 1
1 1
0 1
1 1
0 1
1 1
0 1
0 0
0 8
1 1
0 0
1 1
0 0
1 1
0 1
0 1
1 1
7 1
0 1
1 1
0 1
0 1
1 0
0 0
1 1
0 6
0 1
1 1
1 0
0 0
1 0
1 1
0 1
0 1
5 1
0 0
0 0
1 1
1 0
1 0
0 0
1 0
0 4
0 1
0 0
0 1
0 1
0 0
1 1
0 0
1 1
3 0
0 1
1 0
0 1
1 0
0 1
0 0
0 1
0 2
0 0
0 1
0 0
0 1
0 0
0 1
0 0
0 1
1 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0 4311码5211码2421码8421码 十进制数 (2) 无权码 表示一个十进制数位的二进制码的每一位没有确定的权 余3码(Excess-3 Code) BCD码+0011 运算结果修正:相加是否进位,加减3 格雷码(Gray Code),循环码 编码规则:两个相邻编码只有一个二进制位不同 余3码(Excess-3 Code) BCD码+0011 运算结果修正:相加无进位,减3,否则加3 28+55=830
1 0 1+1
0 0
01 1
1 0-0
0 1
1 1
0 1
1 1
0 1
1 1
0 0
00 0
1 1+0
0 1
1 0
1 1
0 1 表3.3 4位无权码
1 0
0 0
0 1
0 0
1 1
0 0
9 1
0 0
1 1
1 0
0 1
0 1
1 8
0 0
0 1
1 0
0 0
1 0
1 0
7 0
0 1
1 1
0 1
0 1
0 0
1 6
1 0
1 1
1 1
1 0
1 0
0 0
5 1
0 1
0 0
1 1
0 0
1 1
1 4
0 0
1 0
0 0
1 0
0 1
1 0
3 0
1 1
0 0
0 1
1 0
1 0
1 2
0 1
0 0
0 0
0 1
0 1
0 0
1 0
0 0
0 0
0 0
0 0
0 1
1 0 格雷码(2) 格雷码(1) 余3码 十进制数 2.数字串在计算机内的表示与储存 字符形式:每个字节存放一个十进制位(或符号)的ASCII码.例:+123表示为2B
31 32
33 -123表示为2D
31 32 33压缩的十进制数形式:每个字节存放两个十进制位,用BCD码或者ASCII码的低四位表示.正负号可用四位二进制码的6个冗余码中选取例: +123表示为12 3C -12表示为01 2D DEL o _ O ? / US SI
1111 ~ n N > . RS SO
1110 } m ] M = - GS CR
1101 | l L < , FS FF
1100 { k [ K ;
+ ESC VT
1011 z j Z J : * SUB LF
1010 y i Y I
9 ) EM HT
1001 x h X H
8 ( CAN BS
1000 w g W G
7 ETB DEL
0111 v f V F
6 & SYN ACK
0110 u e U E
5 % NAK ENQ
0101 t d T D
4 $ DC4 EOT
0100 s c S C
3 # DC3 ETX
0011 r b R B
2 " DC2 STX
0010 q a Q A
1 ! DC1 SOH
0001 p P @
0 SP DEL NUL
0000 111
110 101
100 011
010 001
000 ASCII字符编码表 关于unicode 字符与编码的发展:从计算机对多国语言的支持角度看,大致可以分为三个阶段:ASCII:计算机刚开始只支持英语,其它语言不能够在计算机上存储和显示.ANSI编码:不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准.这些使用
2 个字节来代表一个字符的编码方式,称为 ANSI 编码.UNICODE:为了使国际间信息交流更加方便,国际组织制定了 UNICODE 字符集,为各种语言中的每一个字符设定了统一并且唯一的数字编号,以满足跨语言、跨平台进行文本转换、处理的要求.Windows NT/2000/XP,Linux,Java 3.2 带符号的二进制数据的 表示方法及加减法运算 3.2.1 各种机器码的表示及其加减法运算机器数:计算机中表示的带符号的各种二进制数机器数有三种:原码、反码、补码1. 原码表示法定义若定点小数的原码形式为x0 .x1x2 …xn [X]原=X 0≤X- 2n原码的性质 ±0:[+0]原=
00000 [-0]原=
10000 用原码表示的两数进行加法运算其结果仍为原码原码的特点 与真值转换方便 加减运算复杂 2. 补码表示法 将减法转换为加法运算 mod
2 two's complement对定点小数定义:x0 .x1x2 …xn [X]补= X0≤X