我目前正在读查尔斯Petzold的书“代码”。 他在文中解释了如何使用以下模板的十进制数转换成二进制转换:
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
÷128 ÷64 ÷32 ÷16 ÷8 ÷4 ÷2 ÷1
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
在这本书中,他对如何使用该模板的解释如下:
“把整个十进制数(小于或等于255)在左上角的框。由第一除数(128)除以数(被除数),如图所示。把商在下面的框(在在左下角盒),并在框向右(其余在顶行中的第二个框)。即第一剩余为下一计算被除数,其使用64的除数中相同的方式继续通过模板。
请记住,各商将是0或1。如果被除数小于除数的商为0,其余的是简单的红利。 如果被除数为大于或等于除数,商为1,并且余数是分频器-除数。 下面是它是如何与150进行”
[150] [22] [22] [22] [6 ] [6 ] [2 ] [0 ]
÷128 ÷64 ÷32 ÷16 ÷8 ÷4 ÷2 ÷1
[1 ] [0 ] [0 ] [1 ] [0 ] [1 ] [1 ] [0 ]
但我很困惑! 当我这样做的指示的计算,我得到非常不同的结果。 我在做什么如下:
150÷128 = 1.171875(I没有看到在22来自以上?)所以,我放置1中的150下面的框中,然后携带171875和使用,作为被除数用于下一次计算,这当然我陷入各种各样的问题,最终,而不是二进制数10010110!
谁能告诉我,我要去哪里错了吗?