文档介绍:第3章运算方法和运算部件
数值的表示方法和转换
带符号的二进制数据在计算机中的表示方 法及加减法运算
二进制乘法运算
二进制除法运算
浮点的运算方法
运算部件
数据校验码
习题
数据的表示方法和转换
数值型数据的表示和转换
1. 数制
日常生活中,人们广泛使用十进制数,任意一个十进制数(N)10可表示为:
(N)10= Dm·10m+Dm-1·10m-1+…+D1·101+D0·100
+D-1·10-1+D-2·10-2+…+D-k·10-k = Di·10i ()
其中,(N)10的下标10表示十进制,该数共有m+k+1位,且m和k为正整数;Di可以是0~9十个数码中的任意一个,根据Di在式中所处位置而赋以一个固定的单位值10i,称之为权(Weight)。式中的10称为基数或“底”。
在计算机中,十进制数的存储和运算都不太方便,于是二进制记数制应运而生。任意一个二进制数可表示为:
(N)2=Dm·2m+Dm-1·2m-1+…+D1·21+D0·20+D-1·2-1+
D-2·2-2+…+D-k·2-k= Di·2i ()
式中,整数部分有m+1位,小数部分有k位,基数(或底)为2。
二进制数(N)2按公式展开,可计算得该数的十进制表示。
()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+)10
=( 5)10
然而对人来说,二进制数无论是书写或阅读均很不方便,为此经常采用八进制数或十六进制数。
任意一个八进制数可表示为:
(N)8= Di·8i ()
~7八个数码中的任意一个。
()8=(1·81+5·80+2·8-1+4·8-2)10
=(8+5++)10=( 5)10
任意一个十六进制数可表示为:
(N)16= Di·16i ()
,Di可以是0~15共十六个数中的任一个。为书写和辨认方便,通常用0~9和A~F分别表示十六进制数0~9和10~15。
()=(0·161+13·160+5·16-1)10
=(0+13+)10=( 5)10
二进制数、八进制数、。
二、八、十六和十进制数的对应关系
二进制数
八进制数
十六进制数
十进制数
0 0 0 0
0 0
0
0
0 0 0 1
0 1
1
1
0 0 1 0
0 2
2
2
0 0 1 1
0 3
3
3
0 1 0 0
0 4
4
4
0 1 0 1
0 5
5
5
0 1 1 0
0 6
6
6
0 1 1 1
0 7
7
7
1 0 0 0
1 0
8
8
1 0 0 1
1 1
9
9
1 0 1 0
1 2
A
1 0
1 0 1 1
1 3
B
1 1
1 1 0 0
1 4
C
1 2
1 1 0 1
1 5
D
1 3
1 1 1 0
1 6
E
1 4
1 1 1 1
1 7
F
1 5
2. 不同数制间的数据转换
(1) 二进制数、八进制数和十六进制数之间的转换
八进制数和十六进制数是从二进制数演变而来的,由3位二进制数组成1位八进制数,4位二进制数组成1位十六进制数。对于一个兼有整数和小数部分的数,以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,对整数部分将0补在数的左侧,对小数部分将0补在数的右侧。这样数值不会发生差错。
假如从二进制数转换到八进制数,则以3位为1组(用下划线表示)。
(1 1)2=(001 100)2=()8
如从二进制数转换到十六进制数,则以4位为1组。
(1 )2=(0001 )2=()16
从八进制数或十六进制数转换到二进制数,只要顺序将每一位数写成3位或4位即可。
()8=(001 100)2=()2
八进制数与十六进制数之间的转换,可将二进制数作为中间媒介进行转换。