利用进位表计算十进制到二进制的转换

来源:互联网 发布:淘宝店铺怎么申诉 编辑:程序博客网 时间:2024/06/03 00:25

    读书时,在课本上学到的十进制转二进制都是通过除2取余来计算的。最近在一个哈佛视频教材上看到了一种通过进位表的计算方式。或许以前的课本也有提及到,但由于没有哈佛视频中那种生动有趣的示例,都忘记了。

以下记录的是自己看完视频后对进位表的理解。同样的方式适用于8进制和16进制(前提是知道进位表)。


二进制的进位表:

128

64

32

16

 

8

4

2

1


通过进位表,可以轻易地在十进制和二进制之间进行转换。

E.G

D10: 249 => D2

说明:249<256,所以128进位上有1

 249 - 128 = 121 > 64,所以64进位上有1

 121 - 64 = 57 > 32,所以32进位上有1

 57 - 32 = 25 > 16,所以16进位上有1

 25 - 16 = 9 > 8,所以8进位上有1

  9 - 8 = 1 <  4

                 < 2 1所以1进位上有1

合起来的二进制数为:1111 1001


D2:1111 1001 => D10

说明:现在把算出来的1111 10001进行反推,算出该数的十进制数:

1进位上有1

1

 * 1

1

2进位上有0

0

* 2

0

4进位上有0

0

* 4

0

8进位上有1

1

* 8

8

16进位上有1

1

* 16

16

32进位上有1

1

* 32

32

64进位上有1

1

* 64

64

128进位上有1

1

* 128

128

 

 

+

 

 

 

=

249

算出结果刚好等于原先十进制值。


    因此如果能记住二进制进位表,不用通过工具的帮助,小的值便轻易的可用心算转换,大点的值也能用笔算出。记住的进位表越高位,能计算的数便越大,这和九九算法表一个道理。



原创粉丝点击