您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 计算机进制转换与原、反、补码
数制概念:按进位的原则进行计数称为进位计数制,简称数制。进位记数制:表示数值大小的数码与它在数中的位置有关。例如,十进制数123.45。进位记数制的要素:①基数:指各种进位记数制中允许选用基本数码的个数。例如十进制的数码有:0,1,2,3,4,5,6,7,8,9→基数是10。②位权:每个数码所表示的数值等于该数码乘以一个与数码所在位置相关的常数,这个常数叫做权值。例如:123.45=1×102+2×101+3×100+4×10-1+5×10-2几种进位计数制数制十进制二进制八进制十六进制数码个数0,1,…,90,10,1,…,70,1,…,9,A,B,C,D,E,F基数102816规则逢十进一借一当十逢二进一借一当二逢八进一借一当八逢十六进一借一当十六权10i2i8i16i形式表示DecimalBinaryOctalHexadecimal注:①i为整数②(N)R=an-1Rn-1+an-2Rn-2+…+a1R1+a0R0+a-1R-1+…+a-mR-m其中:R表示基数,a表示某进制的数码二进制二进制:使用数字0和1等符号来表示数值且采用“逢二进一”的进位计数制。注意:在计算机中,所有的信息(包括数据和指令)都是采用二进制编码。二进制数制的特点:仅使用0和1两个数字。最大的数字为1,最小的数字为0。每个数字都要乘以基数2的幂次,该幂次由每个数字所在的位置决定。二进制加法运算规则:0+0=00+1=11+0=11+1=10八进制与十六进制八进制:使用数字0、1、2、3、4、5、6、7等符号来表示数值的,且采用“逢八进一”的进位计数制。每一个数字的权由8的幂次决定,八进制的基数为8。十六进制:使用数字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。十六进制的计数方法为“逢十六进一”。每一个数字的权由16的幂次决定,十六进制的基数为16。十进制整数转换为非十进制整数除基取余法:“除基取余,先余为低(位),后余为高(位)”。十进制整数转换成二进制整数的方法是:除2取余法。(108)10=(1101100)2例如:将一个十进制整数108.375转换为二进制整数。十进制整数转换成八进制整数的方法是:除8取余法。十进制整数转换成十六进制整数的方法是:除16取余法。例如:将十进数108转换为八进制整数和十六进制整数的演算过程分别如图(a)和图(b)所示。非十进制数转换为十进制数位权法:把各非十进制数按权展开,然后求和。〖例1〗(10110)2=1×24+0×23+1×22+1×21+0×20=16+0+4+2+0=(22)10〖例2〗(1207)8=1×83+2×82+0×81+7×80=512+128+0+7=(647)10〖例3〗(1B2E)16=1×163+B×162+2×161+E×160=1×4096+11×256+2×16+14×1=(6958)10二进制与八进制之间的转换二进制数转换为八进制数:将整数部分自右向左和小数部分自左向右分别按每三位为一组(不足三位用0补足),然后将各个三位二进制数转换为对应的一位八进制数。八进制数转换为二进制数:把每一位八进制数转换为对应的三位二进制数。〖例4〗(10111001010)2=(010111001010)2=(2712)8〖例5〗(456)8=(100101110)2=(100101110)2二进制与十六进制之间的转换二进制数转换为十六进制数:将整数部分自右向左和小数部分自左向右分别按每四位为一组,不足四位用0补足,然后将各个四位二进制数转换为对应的一位十六进制数。十六进制数转换为二进制数:把每一位十六进制数转换为对应的四位二进制数。〖例7〗(10111001010)2=(010111001010)2=(5CA)16〖例8〗(1A9F)16=(0001101010011111)2=(1101010011111)2八进制与十六进制之间的相互转换八进制数与十六进制数之间的转换,一般通过二进制数作为桥梁,即先将八进制或十六进制数转换为二进制数,再将二进制数转换成十六进制数或八进制数。码制在数学中,是将正号“+”和负号“-”放在绝对值前面来表示该数是正数还是负数的。而在计算机中则使用符号位来表示正、负数。符号位规定放在数的最前面,用“0”表示正号,“1”表示负号,其余位仍表示数值(2进制表示)。在计算机中,数有3种表示方法:原码、补码、反码。原码表示法表示方法:原码表示方法中,数值用绝对值表示,在数值的最左边用“0”和“1”分别表示正数和负数,书写成[X]原表示X的原码。例如:当n=8,十进制数+19和-19的原码表示为:[+19]原=00010011[-19]原=10010011反码表示法表示方法:反码表示方法中,正数的反码与原码相同,负数的反码是其绝对值的二进制表示按各位取反(0变1,1变0)所得的表示。例如:当n=8,十进制数+19和-19的反码表示为:[+19]反=00010011[-19]反=11101100补码表示法表示方法:正数的补码与原码、反码相同,负数的补码是其绝对值的二进制表示按各位取反(0变1,1变0)加1,即为其反码+1。例如:当n=8,十进制数+19和-19的补码表示为:[+19]补=00010011[-19]补=11101101①一个正数的原码、反码和补码的表示形式相同,符号位置0,其它位是数的真值。负数的原码符号位→1其余位是该数的绝对值负数的反码符号位→1其余各位逐位取反负数的补码符号位→1其余各位逐位取反,末位加1[+0]原=000…0[-0]原=100…0不唯一[+0]反=000…0[-0]反=111…1不唯一[+0]补=00…0[-0]补=00…0唯一②真值零的表示:总结③数的原码表示形式简单,适于乘除运算,但用原码表示的数进行加减运算比较复杂;引入补码以后,减法运算可以用加法来实现([X-Y]补=[X]补-[Y]补=[X]补+[-Y]补),且数的符号位也可以当作数值一样参加运算,因此在计算机中大都采用补码来进行加减运算。总结
本文标题:计算机进制转换与原、反、补码
链接地址:https://www.777doc.com/doc-3877689 .html