欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

计算机中数的表示

程序员文章站 2022-07-04 17:28:00
   (一)二进制电子计算机处理的信息,都是仅用“0”与“1”两个简单数字表示的信息,或者是用这种数字进行了编码的信息。这种数制叫做二进制。要...
   (一)二进制
电子计算机处理的信息,都是仅用“0”与“1”两个简单数字表示的信息,或者是用这种数字进行了编码的信息。这种数制叫做二进制。要了解计算机,首先要了解计算机中数的表示方法。
任何一种数制都可以用以下四个规则来描述:
基数规则;进位规则;位权规则,运算规则。这了区别不同数制表示的数,通常用右括另外的下标字母表示括号内的数制,十进制数用d表示,二进制用b表示,十六进制数用h表示。
二进制
用四个规则描述如下:二进制数只有“0”和“1”两个数字,基数是2,最大的数字是1,逢2进位,各位的权为以2为底的幂。例如,(0101101010)各位的权自至在依次为27、26、25、24、23、22、21、20。
二进制数的算术四则运算规则,除进、借位外与十进制数相同。
■二进制加法规则
0+0=0 1+0=1
0+1=1 1+1=10
■二进制减法规则
0-0=0 0-1=1-借位
1-0=1 1-1=0
■二进制乘法规则
0×0=0 1×0=0
0×1=0 1×1=1
例四:二进制数11110 101=110
110
101)11110
-)101

101
-) 101

00
二进制的优点是:
■二进制只有“0”和“1”两数字,很容易表示。电压的高和低、 晶体管的截止与饱和、磁性材料的磁化方向等都可以表示为“0”和“1”两种状态。
■二进制数的每一位只有0和1两状态,只需要两种设备就能表示, 所以二进制数节省设备。由于状态简单,所以抗干扰力强,可靠性高。
二进制的主要缺点是数位太长,不便阅读和书写,人们也不习惯。为此常用八进制和十六进制作为二进制的缩写方式。为了适应人们的习惯,通常在计算机内都采用二进制数,输入和输出采用十进制数,由计算机自己完成二进帛与十进制之间的相互转换。
0+1=1 1+1=10

(二)十六进制与数制间的转换
十六进制有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共十六个数字,其中a-f表示10-15的数字,基数是16,最大数字是15用f表示,逢16进位。
十六进制数是二进制数的一种缩写方式,四位二进帛数有十六种组合,对应十进制数的0-15。二进制数转换为十六进制数的方法,从小数点开始左按四位分节,最高位和低位不足四位时,添0补足四位分节,然后用一个等值的十六进制数代换。反过来,十六进制转换成二进制的方法是:将每个十六进制数用4位二进制来书写,其最左侧或最右侧的可以省去。
十进制数转换为二进制数,通常采基数乘除法。整数部分和小数部分分别转换,最后将两部分合起来,即为所转换的二进制数。
整数部分转换用基数除法,即除以二进制数的基数2取余数,再将其商除以2取余数,重复这一过程直到商为0为止。第一次余数为二进制数的最低位,依次递增,最后一次余数为二进制数的最高位。
小数部分转换用基数乘法,即乘以基数2取整数,将余下的小数再乘以2取整数,直到所需精度为止(小数部分的转换可能出现无限循环和无限不循环的情况)。第一次整数为二进制小数的第一位,依次递减,最后的整数为二进制小数的最低位。
因为任何进制数的位权是用十进制数表示的,所以一个任何进制数都可以转化一个等价的十进制数?
(三)数制间的转换
●如何把十进制数转化为二进制、八进制
十进制数转换为二进制数规则:把十进制数用2一次次去除,直至商为0,将得到的余数从最后一次得到的余数依次读起即得,即“除2取余”。
例如:将41变换为二进制
1 0 1 0 0 1余
0125102041
即(41)d=(101001)b
十进制转换为八进制规则:类似二进制,“除八取余”。
例:41转换为八进制
51余
0541
即41转换为八进制为51。
●如何把二进制、八进制转换为十进制
二进制转化为十进制:(a1…an-1an)2
=(a1×2^(n-1)+…+an×2^0)10
八进制转化为十进制:(a1…an-1an)8
=(a1×8^(n-1)+…+an-1×8^1+an×8^0)10
例:(10001010)2=(1×2^7+0×2^6+0×2^5+0×2^4+1×2^3+0×2^2+1×2^1+0×2^0)10=(138)10
(532)8=(5×8^2+3×8^1+2×8^0)10=(346)10
●如何使二进制、八进制相互转换
二进制八进制规则:将十进制数从低位到高位分组,每三位一组,每组可代表0到7之间的数字,依次写下各组所代表的数字即得。
例:(11001001)2=(011)(001)(001)
3 1 1
=(311)8
八进制二进制规则:将每位八进制数码分别用三位二进制数表示,并在这个0和1构成的序列去掉无用的前导0即得。
例:(5163)=(101)(001)(110)(011)=(101001110011)2