《十进制小数部分和负数转化其他进制.docx》由会员分享,可在线阅读,更多相关《十进制小数部分和负数转化其他进制.docx(5页珍藏版)》请在第一文库网上搜索。
1、十进制小数部分和负数转化其他进制十进位制小数部分转化为二进制小数,如果既有整数,又有小数部分,要分开计算,整数部分除2取余逆向排列余数转化八、十六进制顺便换除8、除16逆向取余,商为O时中止计算),小数部分乘2取整顺向排列取整数部分。十进制的整数部分转换二进制,利用除2取余倒记法,但是十进制小数部分转化采用乘2取整顺记法转化八、十六进制顺便换乘8、乘16顺向取整,小数部分为O时中止计算,不为O时根据2(-n)比十进制小数多一位时中止计算)。十进制小数部分转成二进制,十进制的小数转换为二进制小数,主要是利用小数部分乘2,取整数部分,直至小数点后为O,或者达到所要求的精度为止。把取出的整数部分按顺
2、向序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。例:十进制的0125转化成二进制。将小数部分0.125乘2,积0.25取整数部分Oo用剩余的小数部分0.25乘2,积0.5取整数部分O,将剩余的小数部分0.5乘2,积1取整数部分Io此时,小数部分已经为O,则计算结束,0.125的二进制数将所得取整数按顺序排列,得到0.001o验证一下是否为0.125,0+0+1*2(-3)=0.125如果小数部分一直不变为0,可根据精度要求中止计算。有的小数乘2以后,小数部分一直无法得到0,如0.835乘2后小数部分就一直变不成0,这时只需根据一定的精确度中止计算,按顺向取整数,反
3、向验证能满足十进位小数点位数精度要求即可,比十进制数要求位数多取一位即可,如8、16位制向小数方向再多进一位,相加不影响前面数字变化,不需要多进一位,只需当前位2人(-n)次方小数位比十进位数多一位小数位,精度可满足要求。8、16位制换算时8(-n)或16人(-n)小数位比十进制多一位小数位。对负的十进制数转化二进制数,以十进制-17d(d表示十进制,b表示二进制)为例十进位数17转为二进制数17除2商8余1,8除2商4余0,4除2商2余0,2除2商1余0,1除2商0余1,直到商为0时中止,余数倒排,十进制17的二进制数为10001o十进位数一17d转为二进制数-17d=-10001b,将绝对
4、值-IOOo1补全至一个字节8位:00010001,然后取反得:11101110,加1后得:11101111,它就是-17的8位二进制转换数(负数二进制转换数就是转换成二进位数,取反得到二进制补码)。十进制转换成二进制的步骤为:125d(d表示十进制数)125除以2商62余1,62除以2商31余0,31除以2商15余1,15除以2商7余1,7除以2商3余1,3除以2商1余1,1除以2商。余1,直至商为0中止,所有余数逆向排列,逆向顺序取值,即1111101,也可用0补足8位一个字节为01111101o下面验证一下二进位数01111101是否为125do第T立为1,二位为2,三位2八2,四位2八
5、3,每增加一位多乘以一个2。1+2人2+2八3+2八4+2八5+2八6=125。取数进行相加的位置为1,其它位置为Oo十进制转换成八进制对十进制数整数部分除以8(小数部分,利用小数部分乘8,取整数部分,直至小数点后小数部分为0,或者达到所要求的精度为止,顺向取数)取每次的余数部分,直到得到的商为0。小数部分乘以8,取出每次结果的整数部分,直到最后的小数部分为0中止计算。125除以8商15余5,15除以8商1余7,1除以8商0余1,直至商为0中止,所有余数逆向排列,逆向顺序取值,即175,也可用0补足8位一个字节为00000175o下面验证一下八进位数175是否为125d0第T立为1,二位为8,
6、三位8八2,四位8八3,每增加一位多乘以一个8。5+7*8+1*82=125o取数进行相加的位置为17,其它位置为Oo十进制转换成十六进制对十进制数整数部分除以16(小数部分,利用小数部分乘16,取整数部分,直至小数点后为O,或者达到所要求的精度为止,顺向取数)取每次的余数部分,直到得到的商为0。小数部分乘以16,取出每次结果的整数部分,直到最后的结果为Oo125除以16商7余13,7除以16商0余7,直至商为0中止,所有余数逆向排列。十六进制英文名称:Hexnumbersystem,是计算机中数据的一种表示方法。同我们日常中的十进制表示法不一样。它由0-9,A-F组成。与10进制的对应关系是:0-9对应0-9,A-F对应10-15,N进制的数可以用0-YN-I)的数表示,超过9的用字母A-F。B在16进制中序数为11,19对应19,AF又寸应这里逆向顺序取值,13用D表示,即7D,也可用0补足8位一个字节为0000007Do下面验证一下十六进位数7D是否为125d0第T立为1,二位为16,三位16八2,四位16八3,每增加一位多乘以一个16o13+7*16=125o