数制的概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数制的概念(number systems)
进位制/位置计数法是一种记数方式,故亦称进位记数法/位值计数法,可以用有限的数字符号代表所有的数值。
可使用数字符号的数目称为基数(en:radix)或底数,基数为n,即可称n进位制,简称n进制。
现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。
对于任何一个数,我们可以用不同的进位制来表示。
比如:十进数57(10),可以用二进制表示为111001(2),也可以用五进制表示为212(5),也可以用八进制表示为71(8)、用十六进制表示为39(16),它们所代表的数值都是一样的。
数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。
任何信息必须转换成二进制形式数据后才能由计算机进行处理,存储和传输。
编辑本段十进制数(Decimal)
人们通常使用的是十进制。
它的特点有两个:有0,1,2….9十个基本数字组成,十进制数运算是按“逢十进一”的规则进行的.
在计算机中,除了十进制数外,经常使用的数制还有二进制数和十六进制数.在运算中它们分别遵循的是逢二进一和逢十六进一的法则.
编辑本段二进制数(Binary)
二进制数有两个特点:它由两个基本数字0,1组成,二进制数运算规律是逢二进一。
为区别于其它进制数,二进制数的书写通常在数的右下方注上基数2,或加后面加B表示。
例如:二进制数10110011可以写成(10110011)2,或写成10110011B,对于十进制数可以不加注.计算机中的数据均采用二进制数表示,这是因为二进制数具有以下特点:
1)二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。
例如,电路中有,无电流,有电流用1表示,无电流用0表示。
类似的还比如电路中电压的高,低,晶体管的导通和截止等。
2)二进制数运算简单,大大简化了计算中运算部件的结构。
二进制数的加法和乘法运算如下:
0+0=0 0+1=1+0=1 1+1=10
0×0=0 0×1=0 1×0=0 1×1=1
编辑本段四进制(quaternary)
四进制是以4为底数的进位制,以0、1、2 和3 四个数字表示任何实数。
四进制与所有固定底数的记数系统有着很多共同的属性,比如以标准的形式表示任何实数的能力(近乎独特),以及表示有理数与无理数的特性。
有关属性的讨论可参考十进制和二进制,下面是十进制0至15与四进制与二进制的互换。
七进制是以7为底数的记数系统。
使用数字0-6。
七进制小数通常都是循环小数,除非分母是七的
加法运算举例:1、131+245=4062、406+666=14053、
1405+3456=4534数制转换举例:1、十进制的131转
化成七进制数131(十)=18*7+5=(2*7+4)
*7+5=2*7^2+4*7^1+5=245(七)2、七进制数245转
化成十进制数245(七)
=2*7^2+4*7^1+5=2*49+4*7+5=98+28+5=131(十)
七进制的一个好处是,3.1 (22/7)是圆周率的一
个很好的近似值。
编辑本段八进制数(Octal)
由于二进制数据的基R较小,所以二进制数据的
书写和阅读不方便,为此,在小型机中引入了八进制。
八进制的基R=8=2^3,有数码0、1、2、3、4、5、6、
7,并且每个数码正好对应三位二进制数,所以八进
制能很好地反映二进制。
八进制用下标8或数据后面
加O表示例如:二进制数据(11 101 010 . 010 110
100 )2 对应八进制数据( 3 5 2 . 2 6 4 )8或352.264O.
编辑本段十二进制(duodecimal)
十二进制长度单位一英尺等于12英寸,一先
令等于12便士,就连足球比赛罚点球的英制长度也
是12码。
十二进制来源:传说是十个手指头加两只脚。
这
是过去规定的,现在规定一打dozen为12个。
规定一打12个是一种12进制。
瑞典历史上有一位有远见的国王就说过,从日常
应用的角度看,十二进制比十进制更方便。
他生前曾
设想过,在他管辖的范围内取消十进制,而代之以十
二进制。
现在还能见到十二进制,比如钟表转一圈12小
时等等。
编辑本段十六进制数(Hex)
由于二进制数在使用中位数太长,不容易记忆,
所以又提出了十六进制数
十六进制数有两个基本特点:它由十六个字符
0~9以及A,B,C,D,E,F组成(它们分别表示十
进制数10~15),十六进制数运算规律是逢十六进一,
即基R=16=2^4,通常在表示时用尾部标志H或下标
16以示区别。
例如:十六进制数4AC8可写成(4AC8)16,或
写成4AC8H。
编辑本段六十进制数sexagesimal
古代人由于生产劳动的需要,要研究天文和历法,
就牵涉到时间和角度了。
因为历法需要的精确度较高,
时间的单位小时,角度的单位度都嫌太大。
必须进一
步研究他们的小数。
它们的小数都具有这样的性质︰
使1/2,1/3,1/4,1/5,1/6等都能成为他的整数倍。
以1/60
作为单位,就正好具有这个性质。
譬如︰1/2等于30
个1/60,1/3等于20个1/60,1/4等于15个1/60…这种
小数的进位制在表示有些数时很方便。
例如常遇到的
1/3,在十进位制中要变成无限小数,但在这种进位制
中就是一个整数。
编辑本段数的位权概念
对于形式化的进制表示,我们可以从0开始,对
数字的各个数位进行编号,即个位起往左依次为编号
0,1,2,……;对称的,从小数点后的数位则是-1,
-2,……
进行进制转换时,我们不妨设源进制(转换前所
用进制)的基为R1,目标进制(转换后所用进制)的
基为R2,原数值的表示按数位为
AnA(n-1)……A2A1A0.A-1A-2……,R1在R2中的表示为
R,则有(AnA(n-1)……A2A1A0.A-1A-2……)
R1=(An*R^n+A(n-1)*R^(n-1)+……+A2*R^2+A1*R^1+A0*
R^0+A-1*R^(-1)+A-2*R^(-2))R2
(由于此处不可选择字体,说明如下:An,A2,
A-1等符号中,n,2,-1等均应改为下标,而上标的
幂次均用^作为前缀)
举例:
一个十进制数110,其中百位上的1表示1个10^2,
既100,十位的1表示1个10^1,即10,个位的0表
示0个100,即0。
一个二进制数110,其中高位的1表示1个2^2,
即4,低位的1表示1个2^1,即2,最低位的0表示
0个2^0,即0。
一个十六进制数110,其中高位的1表示1个16^2,
即256,低位的1表示1个16^1,即16,最低位的0
表示0个16^0,即0。
可见,在数制中,各位数字所表示值的大小不仅
与该数字本身的大小有关,还与该数字所在的位置有
关,我们称这关系为数的位权。
十进制数的位权是以10为底的幂,二进制数的
位权是以2为底的幂,十六进制数的位权是以16为
底的幂。
数位由高向低,以降幂的方式排列。
编辑本段进数制之间的转换
1.二进制数、十六进制数转换为十进制数(按权
求和)
二进制数、十六进制数转换为十进制数的规律是
相同的。
把二进制数(或十六进制数)按位权形式展
开多项式和的形式,求其最后的和,就是其对应的十
进制数——简称“按权求和”.
例如:把(1001.01)2 二进制计算。
解:(1001.01)2
=8*1+4*0+2*0+1*1+0*(1/2)+1*(1/4)
=8+0+0+1+0+0.25
=9.25
把(38A.11)16转换为十进制数
解:(38A.11)16
=3×16的2次方+8×16的1次方+10×16的0次方
+1×16的-1次方+1×16的-2次方
=768+128+10+0.0625+0.25
=906.3125
2.十进制数转换为二进制数,十六进制数(除2/16
取余法)
整数转换.一个十进制整数转换为二进制整数通
常采用除二取余法,即用2连续除十进制数,直到商
为0,逆序排列余数即可得到――简称除二取余法.
例:将25转换为二进制数
解:25÷2=12 余数1
12÷2=6 余数0
6÷2=3 余数0
3÷2=1 余数1
1÷2=0 余数1
所以25=(11001)2
同理,把十进制数转换为十六进制数时,将基数
2转换成16就可以了.
例:将25转换为十六进制数
解:25÷16=1 余数9
1÷16=0 余数1
所以25=(19)16
3.二进制数与十六进制数之间的转换
由于4位二进制数恰好有16个组合状态,即1
位十六进制数与4位二进制数是一一对应的.所以,十
六进制数与二进制数的转换是十分简单的.
(1)十六进制数转换成二进制数,只要将每一位
十六进制数用对应的4位二进制数替代即可――简称
位分四位.
例:将(4AF8B)16转换为二进制数.
解:4 A F 8 B
0100 1010 1111 1000 1011
所以(4AF8B)16=(1001010111110001011)2
(2)二进制数转换为十六进制数,分别向左,向
右每四位一组,依次写出每组4位二进制数所对应的
十六进制数――简称四位合一位.
例:将二进制数(000111010110)2转换为十六进
制数.
解:0001 1101 0110
1 D 6
所以(111010110)2=(1D6)16
转换时注意最后一组不足4位时必须加0补齐4
位
1 / 2
编辑本段数制转换的一般化
1)R进制转换成十进制
任意R进制数据按权展开、相加即可得十进制数
据。
例如:N = 1101.0101B =
1*2^3+1*2^2+0*2^1+1*2^0+0*2^-1+1*2^-2+0*2^-3+1
*2^-4 = 8+4+0+1+0+0.25+0+0.0625 = 13.3125
N = 5A.8H = 5*16^1+A*16^0+8*16^-1 = 80+10+0.5
= 90.5
2)十进制转换R 进制
十进制数转换成R 进制数,须将整数部分和小数
部分分别转换.
1.整数转换——---除R 取余法规则:(1)用R 去
除给出的十进制数的整数部分,取其余数作为转换后
的R 进制数据的整数部分最低位数字;(2)再用R去
除所得的商,取其余数作为转换后的R 进制数据的高
一位数字;(3)重复执行(2)操作,一直到商为0
结束。
例如:115 转换成Binary数据和Hexadecimal
数据(图2-4)所以115 = 1110011 B = 73 H
2.小数转换————---乘R 取整法规则:(1)用
R 去乘给出的十进制数的小数部分,取乘积的整数部
分作为转换后R 进制小数点后第一位数字;(2)再用
R 去乘上一步乘积的小数部分,然后取新乘积的整数
部分作为转换后R 进制小数的低一位数字;(3)重复
(2)操作,一直到乘积为0,或已得到要求精度数位
为止。
编辑本段and、or、xor运算
所有进制的and(和)、or(或)、xor(异或)运
算都要转化为二进制进行运算,然后对齐位数,进行
运算,具体的运算方法和普通的and、or、xor相同,
如:1and1=1,1and0=0,0and0=0,1or1=1,1or0=1,
0or0=0,1xor1=1,1xor0=0,0xor0=1。
就是一般的二
进制运算。
如:35(H)and5(O)=110101(B)and101(B)
=101(B)=5(O)
2 / 2。