进制的转换

       总是说权重来转换进制,如二进制1001(2)通过权重就是:

  • 1*2^3+0*2^2+0*2^1+1*2^0=9

       所以我们其实也可以想到拼凑法,对于一个10进制数我们采用拼凑的方法得到其二进制序列。

       当然,还有二进制转换为小数的情况,其实也是乘上2的负数次方。 

        对于10进制小数位转换为2进制,如下图:

       我们每次将小数位乘上2,每次取其整数位,直到结果恰好为1,我们按顺序排列其二进制序列。 

       再比如:

       还有一种算法:第一位乘2之后加上第二位,之后再乘2,之后加上第三位,再之后乘2,直到加上最后一位便不再乘2。

  • 1001(2)
  • (((1*2)+0)*2+0)*2+1=9

        

       我们要学好编程语言,就一定要知道进制的转换,16进制也是必须知道的。

       十进制有10位数,逢10进1,从0~9是十位数;同理,16进制就是0~15,但是,一个16进制位只能用一位来表示,所以将10用A来表示。

       因为计算机程序员是一定要用的,所以开发者们就在计算机里面的内置计算器有程序员模式,打开方法为Home + R 打开运行窗口,并输入calc(因为计算英文是calculate)。

       4个二进制位全为1最大刚好是15,正好能用一个16进制位F来表示:

       而一个字节正好是8个比特位,我们能用两个16进制位表示,因为内存地址为了方便表示就用16进制位来表示的。 

       对于十进制的整数我们要转换为二进制,就需要对其除2模2,如下图:

              因为8进制每一位是0~7,各自写成2进制,最多有3个2进制位。         所以二进制转8进制从右往左每3个2进制位换算成一个8进制位。

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值