您好,欢迎访问三七文档
数制及其相互转换要点各种计数制二进制、八进制、十六进制对照表数制间的相互转换中南民族大学电子信息工程学院●计算机教研室程序设计语言各种计数制二进制:由0,1组成,逢二进一八进制:由0,1,2,3,4,5,6,7八个数字组成,逢八进一十进制:由0,1,2,3,4,5,6,7,8,9十个数字组成,逢十进一十六进制:由0~9十个数字、A、B、C、D、E、F六个字母组成,逢十六进一中南民族大学电子信息工程学院●计算机教研室程序设计语言二进制、八进制、十六进制对照表十进制二进制八进制十六进制十进制二进制八进制十六进制000000081000810001119100192001022101010A3001133111011B4010044121100C5010155131101D6011066141110E7011177151111F中南民族大学电子信息工程学院●计算机教研室程序设计语言数制间的相互转换•转换原则:如果两个有理数相等,则它们的整数部分和小数部分分别相等。•一、非十进制数间的转换•二、十进制数转换成非十进制数•三、非十进制数转换成十进制数•总结中南民族大学电子信息工程学院●计算机教研室程序设计语言一、非十进制数间的转换1.二进制数与八进制数间的转换以小数点为界,向左或向右,三位二进制数一组用一位八进制数取代。注意:不足三位二进制数用0补足三位。基本关系:一位八进制数=三位二进制数八进制数二进制数一分三三合一转换原则:中南民族大学电子信息工程学院●计算机教研室程序设计语言将(714.431)8转换成二进制数例1:714.431111100100100110100即:(714.431)8=(111001100.100011001)2例:将二进制数(1111101.11001)2转换成八进制数1111101.11001000175.62即:(1111101.11001)2=(175.62)8中南民族大学电子信息工程学院●计算机教研室程序设计语言2.二进制数与十六进制数间的转换基本关系:一位十六进制数=四位二进制数十六进制数二进制数一分四四合一转换原则:中南民族大学电子信息工程学院●计算机教研室程序设计语言将十六进制数1AC0.6DH转换成相应的二进制数1AC0.6D1000101011000000.11001101即:(1AC0.6D)16=(1101011000000.01101101)2例3:将二进制数(1100011.10111)2转换成相应的十六进制数1100011.10111000063.B8即:(1100011.10111)2=(63.B8)16例2:中南民族大学电子信息工程学院●计算机教研室程序设计语言二、十进制数转换成非十进制数十进制数转换R进制数转换原则:将十进制数分成整数部分和小数部分,分别采用不同的方法换算,然后将两部分相加。整数部分:除R取余法(数);小数部分:乘R取整法(数)中南民族大学电子信息工程学院●计算机教研室程序设计语言例4将十进制数(125.6875)10转换成R进制数(R=2,8,16)125262………1231………0215………127………123………121………120………1低位高位0.6875×)21.37501……0.3750×)20.75000……0.7500×)21.50001……0.5000×)21.00001……低位高位所以:(125.6875)10=(1111101.1011)2中南民族大学电子信息工程学院●计算机教研室程序设计语言例4(续)(125.6875)10=()8125除数8151205余数87100商1商2商31低位高位0.6875×)85.50005………0.5000×)84.00004………高位低位所以:(125.6875)10=(175.54)8中南民族大学电子信息工程学院●计算机教研室程序设计语言例4(续)(125.6875)10=()16125除数16711213余数070商1商2低位高位0.6875×)1611.0000B……高位低位所以:(125.6875)10=(7D.B)16D7中南民族大学电子信息工程学院●计算机教研室程序设计语言例5(75)10=()2=()8=()167546411040商1商2低位高位所以:(75)10=(1001011)2=(113)8=(4B)16B4除数16余数十六进制:4B二进制:0000000001001011八进制:000113中南民族大学电子信息工程学院●计算机教研室程序设计语言例6(–111)10=()2=()8=()1611169615060商1商2低位高位F6求负数补码的方法:取绝对值,求二进制形式,按位取反,再+1除数16余数十六进制:6F二进制:0000000001101111按位取反:1111111110010000+1:1111111110010001八进制:177621二进制:1111111110010001十六进制:FF91所以,(–111)10=(1111111110010001)2=(177621)8=(FF91)16中南民族大学电子信息工程学院●计算机教研室程序设计语言注意高、低位:整数:先余为低,后余为高小数:先整为高,后整为低十进制数转换为R进制数总结整数部分:除R取余法小数部分:乘R取整法低高低中南民族大学电子信息工程学院●计算机教研室程序设计语言三、非十进制数转换成十进制数规则:按权展开求和1.二进制数与十进制数间的转换例7(110101)2==1×25+1×24+0×23+1×22+0×21+1×20=32+16+0+4+0+1=(53)10(101.101)2==1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=4+1+0.25+0.125=(5.625)102、八进制数转换成十进制数例8:(305)8==3×82+0×81+5×80=192+5=(197)10(35.16)8==3×81+5×80+1×8-1+6×8-2=24+5+0.125+0.09375=(29.21875)10中南民族大学电子信息工程学院●计算机教研室程序设计语言(2AD)16==2×162+A×161+D×160=512+160+13=(685)10(32CF.48)16==3×163+2×162+C×161+F×160+4×16-1+8×16-2=12288+512+192+15+0.25+0.03125=(13007.28125)10R=Kn-1×Rn-1+Kn-2×Rn-2+…+K0×R0+K-1×R-1+K-2×R-2+…+K-m×R-m(R=2,8,16)3、十六进制数转换成十进制数中南民族大学电子信息工程学院●计算机教研室程序设计语言总结1.十进制整数R进制整数除R取余法(余数按倒序排列)(R=2,8,16)2.十进制小数R进制小数乘R取整法(整数按正序排列)3.R进制数十进制数按权展开求和4.二进制数八进制数从小数点开始向左/向右每3位分成一组,将每组二进制数写成1位八进制数将1位八进制数直接写成3位二进制数5.二进制数十六进制数从小数点开始向左/向右每4位分成一组,将每组二进制数写成1位十六进制数将1位十六进制数直接写成4位二进制数
本文标题:数制及其相互转换
链接地址:https://www.777doc.com/doc-4936265 .html