十进制与二进制的互转方法

本文详细介绍了十进制与二进制之间的转换方法,包括整数部分和小数部分的转换。十进制转二进制采用辗转相除法,二进制转十进制则通过按权相加实现。对于小数部分,可以通过连续乘2取整的方式进行转换。

一.十进制转二进制的算法

    

    1.十进制转二进制的整数算法

       用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果

      例如:302转化成二进制

            302/2 = 151 余0

            151/2 = 75 余1

            75/2 = 37 余1

            37/2 = 18 余1

            18/2 = 9 余0

            9/2 = 4 余1

            4/2 =   2 余0

            2/2 = 1 余0

     故二进制为100101110

      

    2.二进制转十进制的小数算法

     

       对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,

       再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分. 如此不

       断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次

       得到为最低位
       如:

           0.25的二进制
           0.25*2=0.5 取整是0
           0.5*2=1.0    取整是1 
           即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)

 

二.二进制转十进制的算法:

    1.二进制转十进制的整数算法

      

       最后一位开始算,依次列为第0、1、2...位第n位的数(0或1)乘以2的n次方得到的结果相加就是答案

     例如:01101011.转十进制:

           从第0位开始,依次向前计算:

          1乘2的0次方=1

          1乘2的1次方=2

          0乘2的2次方=0

          1乘2的3次方=8

          0乘2的4次方=0

          1乘2的5次方=32

          1乘2的6次方=64

          0乘2的7次方=0

          然后:1+2+0+8+0+32+64+0=107.

        二进制01101011=十进制107.

 

   2.十进制转二进制的小数算法

       小数点后第一位开始算,依次列为第1、2、3...位第n位的数(0或1)乘以2的-n次方得到的结果相加就是答案

       例如:0.101

              1*2(-1)+0*2(-2)+1*2(-3)=0.625
              所以:(0.101)(二)=(0.625)(十)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值