第二章 数字系统
2.1引言:
本章是三、四章的先导。通过本章的学习,学生应能理解数字系统的概念,描述十、二、十六、八进制系统以及系统之间的互相转换。
数字系统(数码系统)定义了如何用独特的符号来表示一个数字。
2.2位置化数字系统
在位置化数字系统中,在数字中符号所占据的位置决定了其表示的值。数字表示为:
±(Sk-1······S2S1S0.S-1S-2······S-l)b
它的值是±Sk-1*b^k-1+······+S1*b^1+S0*b^0+S-1*b^-1+······+S-l*b^-l
b是底(基数),S是一套符号集
2.2.1 十进制系统(以10为底)
b=10
S={0,1,2,3,4,5,6,7,8,9}
2.2.2 二进制系统(以2为底)
数据和程序以二进制模式存储与计算机中。因为计算机由电子开关制成,仅有开和关两种状态。
S={0,1}
b=2
2.2.3 十六进制(以16为底)
二进制不便于在计算机外部表示数字,因为二进制符号比起十进制符号过长。为了便于转换十进制和二进制,发明了十六进制和八进制。
S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}(A,B,C,D,E,F分别等于10,11,12,13,14,15)
b=16
2.2.4 八进制系统(以8为底)
b=8
S={0,1,2,3,4,5,6,7}
2.2.5 小节
十六进制表示法显然是最短的
2.2.6 转换
1.任意进制到十进制的转换
这种住那还是简单而迅速的,将数码乘其原系统的位置量然后求和便得到十进制中的数。
2.十进制转换到其他进制
(1)转换整数部分(连除法)
称十进制数整数部分为源,已转换好的整数部分为目标。算法如下:
1.开始(给出源和底)——>2.创建空的目标——>3.用底除源——>4.插入余数到目标的左边——>5.判断商是否为零(真则停止,假则返回第3布)——>6.停止并返回目标
(2)转换小数部分(连乘法)
称十进制小数部分为源,已经转换好的小数部分为目标。算法如下:
1.开始(给出源和底)——>2.创建空目标——>3.用底乘源——>4.整数部分插入到目标的右边——>5.判断小数部分是否为零或目标位数是否足够(为真则停止,为假则返回第3步)——>6.停止并返回目标
(3)数码的数量
K=logbN(向上取整)
k为数码的数量,b为底,N为该整数的十进制数值
3.二进制-十六进制的转换
我们可以把二进制轻松转换为十六进制,反之亦然。
二进制的四位恰好是十六进制中的一位。
4.二进制-八进制的转换
二进制中的三位恰好是八进制中的一位
5.八进制-十六进制的转换
用二进制作为中介可快速进行转换。