码迷,mamicode.com
首页 > 其他好文 > 详细

20180417_十进制与二进制的转换

时间:2018-04-17 23:50:35      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:二进制转十进制   规则   16px   等于   依次   停止   .com   倒序   需要   

一、十进制转二进制

    1、正数

十进制转二进制的方法是递归除2,直到商等于0停止,倒序取余数;二进制通常呈4位、8位、16位、32位出现,高位不足补0;

以十进制55为例:

技术分享图片

 

    最终得到的二进制数值为  11 0111 ,高位补0最终得到  0011 0111;

    2、负数

负数转二进制需要先将负数取反得到正的十进制数值,之后根据正数的规则转换成二进制,再将二进制取反后加1;

以十进制-55为例:

  ① 取反得到数值55

  ② 55转换二进制为 0011 0111

  ③ 将 0011 0111 取反得到 1100 1000

  ④ 将 1100 1000 加1得到 1100 1001

则-55转换成的二进制数值为 1100 1001

二、二进制转十进制

       在计算机语言中,0表示正,1表示负;

    1、二进制首位为0

      将二进制所从后往前,依次计算第n位上数字乘以2的n-1次幂,所得到的和即为十进制数字;

      以 0011 0111 为例:

      1*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 + 1*2^5  =  1 + 2 + 4 + 16 + 32 = 55

      则最终的结果是55

     2、二进制首位为1

      二进制首位为1则表示次二进制数值为负数,根据十进制转二进制的规则逆推即可;先将该二进制数值减1后取反,转换成十进制以后取反即为得到的十进制数值。

      以 1100 1001 为例:

        ① 1100 1001 减1 得到 1100 1000

        ② 1100 1000 取反得到 0011 0111

        ③ 0011 0111 转化成十进制为55

        ④ 55取反得到 -55

      则最终得到结果为 -55

20180417_十进制与二进制的转换

标签:二进制转十进制   规则   16px   等于   依次   停止   .com   倒序   需要   

原文地址:https://www.cnblogs.com/ztnn/p/8870484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!