从十进制到二进制

使用十进制表示数量对我们来说是非常自然和容易理解的,它的编码原则就是逢十进一


从十进制到二进制_第1张图片
digit.gif

我们平常所说的十位、百位都隐藏着一个权重信息,我们平常所写的数字,比如238是一个简写,省略了数字背后的权重信息


从十进制到二进制_第2张图片
weight.gif

其实我们也可以用其他进制编码数量,原则和十进制类似,为了避免眼花缭乱,我们挑几个进制演示从1自增到15的过程


从十进制到二进制_第3张图片
radix_demo.gif

同样的数量是可以用不同进制来表示的,区别是每个位置所代表的权重和所拥有的状态不同,十进制的表达对我们人类来说更直观,二进制每个位置只有2个状态:0或1,对计算机这种擅长处理开关两种状态的机器来说简直是量身定制。

因为不同进制可以表达同一数量,当你觉得二进制的位数太长,可以将其转化成其他进制,比如四进制,可能你从来没用过


从十进制到二进制_第4张图片
2_4.png

看看二进制到四进制转换过程:


从十进制到二进制_第5张图片
2_4.gif

二进制到八进制,三个一组提取较低位的权重,当高位不够时用0补充:


从十进制到二进制_第6张图片
2_8.png

二进制到八进制的过程:


从十进制到二进制_第7张图片
2_8.gif

二进制到十六进制,我们经常用十六进制表示内存地址
从十进制到二进制_第8张图片
2_16.png

二进制到十六进制的过程:


从十进制到二进制_第9张图片
2_16.gif

从我们的转化表达式可以看出来,正是由于合并后的权重相同,使得二进制可以灵活向八进制、十六进制转化,而其他进制则不可以。

总结

  • 对整数来说,可以用不同进制来编码同一个数,需要两个条件:权重和状态。

  • 二进制的表达是一种极致,每个位置只有两种状态0,1,用最少的状态表达同样的内容,极其符合计算机的处理特性。缺点:位数太长 可读性差 弥补:使用十六进制简化表达

  • 二进制-四进制-八进制-十六进制,将具有共同权重的位置合并,可以转化的根本是权重的自由转换。

你可能感兴趣的:(从十进制到二进制)