计算机进制算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在我们想深入学习计算机有关知识是,不可避免的会碰到关于各种机制的计算和它们之间的转化,所以我在这里可大家分享一下这方面的知识,希望对大家有帮助。
一、十进制数
十进制数是日常生活中使用最广的计数制。组成十进制数的符号有0,1,2,3,4,5,6,7,8,9等共十个符号,我们称这些符号为数码。
在十进制中,每一位有0~9共十个数码,所以计数的基数为10。超过9就必须用多位数来表示。十进制数的运算遵循:加法时:“逢十进一”;减法时:“借一当十”。
十进制数中,数码的位置不同,所表示的值就不相同。
式中,每个对应的数码有一个系数1000,100,10,1与之相对应,这个系数就叫做权或位权。十进制数的位权一般表示为:10n-1
式中,10为十进制的进位基数;10的i次为第i位的权;n表示相对于小数点的位置,取整数;当n位于小数点的左边时,依次取n=1、2、3……n。位于小数点的右边时,依次取n=-1、-2、-3……因此,634.27可以写为:
634.27=6×102+3×101+4×100+2×10-1+7×10-2
在正常书写时,各数码的位权隐含在数位之中,即个位、十位、百位等。
二、二进制
电子计算机处理的信息,都是仅用“0”与“1”两个简单数字表示的信息,或者是用这种数字进行了编码的信息。这种数制叫做二进制。要了解计算机,首先要了解计算机中数的表示方法。
为了区别不同数制表示的数,通常用右括另外下标数字或字母表示数制,十进制数用D表示,二进制用B表示,十六进制数用H表示,八进制用O表示。
二进制计算法的特点:①二进制数只有“0”和“1”两个数码,基数是2,最大的数字是1;②采用逢二进一的原则。
二进制的位权一般表示为:2n-1。各位的权为以2为底的幂。例如,(01101010)各位的权自至在依次为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
为了区别于十进制数,在书写时二进制数可以用两种方法表示:例如:(1011.01)2或1011.1B。
例如:写出(1011.01)2的十进制数表达式。
(1011.01)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2=(11.25)10
二进制的优点是:
■二进制只有“0”和“1”两数字,很容易表示。电压的高和低、 晶体管的截止与饱和、磁性材料的磁化方向等都可以表示为“0”和“1
”两种状态。
■二进制数的每一位只有0和1两状态,只需要两种设备就能表示, 所以二进制数节省设备。由于状态简单,所以抗干扰力强,可靠性高。
二进制的主要缺点是数位太长,不便阅读和书写,人们也不习惯。为此常用八进制和十六进制作为二进制的缩写方式。为了适应人们的习惯,通常在计算机内都采用二进制数,输入和输出采用十进制数,由计算机自己完成二进制与十进制之间的相互转换。
三、十六进制数
二进制数在计算机系统中处理很方便,但当位数较多时,比较难记忆及书写,为了减小位数,通常将二进制数用十六进制表示。
十六进制是计算机系统中除二进制数之外使用较多的进制,其计数法的特点为:
①有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F等共十六个数码,其分别对应于十进制数的0~15;
②十六进制数的加减法的进/借位规则为:借一当十六,逢十六进一。
十六进制数的位权一般表示为:16n-1。其中16是十六进制的进位基数,n表示相对小数点的位置。在书写时,用加注16或H的方式表示十六进制数,例如:(8FA.5)16或8FA.5H。
例如:写出(8FA.5)16的十进制数表达式。
(8FA.5)16=8×162+15×161+10×160+5×16-1=(2298.3125)10
四、八进制数
八进制计数法的特点是:
有八个不同的计算符号0、1、2、3、4、5、6、7,这八个符号称为数码。
采用逢八进一的原则。对应于十进制数0、1、2、3、4、5、6、7、8,八进制数分别记作0、1、2、3、4、5、6、7、8、10。
五、十进制数转化为非十进制数
十进制转换数转换为非十进制数时,可将其分为整数部分和小数部分分别进行转换,最后将结果合并为目的数。
● 整数部分的转换
整数部分的转换是采用除基取余法。所谓除基取余法就是用欲转换的数据的基数去除十进制数的整数部分,第一次除取得的余数为目的数的最低位,把得到的商再除以该基数,所得余数为目的数的次低位,依此类推,继续上面的过程,直到商为0时,所得余数为目的数的最高位。
●小数部分的转换
小数部分的转换是采用乘基取整法。所谓乘基取整法就是用该小数乘上目的数制的基数,第一次乘得结果的整数部分为目的数的小数部分的最高位,其小数部分再乘上基数,所得结果的整数部分为目的数的次高位,依此类推,继续上述的过程,直到小数部分为0或达到要求的精度为止。
六、二进制与十六进制数的相互转换
四位二进制数共有十六种组合,而十六种组合正好与十六进制的十六种组合一致,故
每四位二进制数对应于一位十六进制数,因此二进制数与十六进制之间的转换非常简单。
★二进制转换为十六进制时:只要将二进制数的整数部分自右向左每四位一组,最后不足四位的用零补足;小数部分则自左向右每四位一组,最后不足四位时在右边补零。再把每四位二进制数对应的十六进制数写出来即可。
★十六进制数转换为二进制数的正好与此相反,只要将每位的十六进制数对应的四位二进制写出来即行了。