关于二级制转换为十进制公式的思考

  1、问题

  在学习《深入理解计算机系统》第二版第二章整数运算中的除以2的幂小节时,发现机器数位表示转换为无符号数使用了下面这一公式:

 

 这一公式其实就是二进制转换为10进制的数学符号表示,我疑惑的点在于表示形式为什么是这样的。回想当年信息技术课上老师也没详细解释原理,只是把他当成方法,一种经验,类似于1+1=2;隐隐中感觉有不合理之处,又说不出问题详细所在,总感觉缺少了部分逻辑。

 

  2、思考

   2.1 数码、数位、基数、位权?:进位计数制

 

   2.2 发现问题

  以上基数、位权、实例的推导过程都站在10进制的角度进行,二进制中只有'0','1'两个符号,而上图二进制转换位10进制中基数为2,位权中的幂也是10进制数表示。

现代人类生活、基础教育都是使用10进制数,也可以说人的默认设置就是10进制。之所以对转换公式误解是误将位权2^i次方当作二级制表示,实际上在这一步就已经将二进制转换为10进制。

当然此处还有一个隐含的逻辑,数有多种进制表示:二级制、八进制、10进制、16进制,也有多种数学符号:阿拉伯的12345.......,汉字的一、二、三、四等,以及埃及的Ⅰ、Ⅱ、Ⅲ等,无论用什么符号、什么形式,所表示的数,数量是一致的

 

posted @ 2020-11-05 11:32  geekj  阅读(171)  评论(0编辑  收藏  举报