二进制和十进制之间的转换

》正十进制整数转换成二进制数

     #除二取余,然后倒序排列,高位补零

      #高位补零:计算机内部表示数的字节单位是定长的,如8位,16位,或32位。位数不够时,高位补零,正数高位补0,负数高位补1。以下示例中均以8位演示。

     将正十进制整数除以二,得到的商再除以二,依此类推直到商为0或1时停止,然后在旁边标出各步的余数,最后倒着写出来,高位补零即可。

     示   例:把十进制数50转换为二进制数。


     图中红色的数字为余数,50除以2得到的余数为010011,反过来就是110010,所以十进制数50转换为二进制数110010,然后高位补零后为00110010。

     规范的写法为( 50 ) 10=( 00110010 ) 2。

    

》负十进制整数转换成二进制数

     #先将对应的正整数转换成二进制后,对二进制取反(可查看位运算),然后对结果再加1。

     注:如果是直接在二进制前面加负号则计算中不用加1,直接算出该数负号后面的正数所对应的二进制数然后在其前面加上负号即可。

     示   例:把十进制数-50转换为二进制数。

          50的二进制数为   00110010

                            取反后为   11001101

                     加1后为    11001110

     规范的写法为( -50 ) 10=( 11001110 ) 2。


》十进制小数转换为二进制数

    #让小数点后的数乘以2,取结果的整数部分(不是1就是0),然后再用小数部分乘以2,再取结果的整数部分……依此类推,直到小数部分为0或者位数已经够了为止。然后把取的整数部分按先后次序排列即可

    示   例:把十进制小数0.125转换为二进制数


    当小数部分为0时,停止乘以2。然后正序排列就构成了0.125的二进制小数0.001。


     #当十进制小数的整数部分有大于0的整数时,把整数部分也转换称二进制,然后把整数部分和小数部分加在一起即可。

    示   例:把十进制数50.125转换为二进制数

         十进制数50对应的二进制数为                00110010

       十进制数0.125对应的二进制数为                         001

                                        相加后为     00110010.001


》二进制整数转换为十进制数

     #首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。补齐位数以后,将二进制中的位数分别将下边对应的值相乘,把得到的结果相加后即为原二进制数转换后的十进制数。

    示   例:把二进制数110010转换为十进制数


    二进制首位为0,直接补位计算。即二进制数110010转换后为十进制数50。

    示   例:把二进制数11001110转换为十进制数

    若二进制首位为1时,就需要先取反加1再换算

     11001110  取反后为 -00110001   (此处注意取反后前面有个负号,且本身就是8位)


     即二进制数11001110转换后为十进制数-50。

》带小数的二进制数转换为十进制数

     #将二进制中的小数部分分别于下图所示对应的值相乘后相加得到的值即为换算后的十进制数。

    示   例:把二进制数0.1101转换为十进制数


    即二进制数0.1101转换后为十进制数0.8125。顺便说下,一个数的负数次幂等于这个数的正数次幂的倒数,即2的-1次幂等于2的1次幂的倒数为1/2。


  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值