计算机内部都是用二进制码表示的,一个十进制数值转换成二进制,我们自己也可以慢慢算出。 但对计算机来说,要求的就是速度效率。所以我想问的是:在程序运行时,我们所输入的十进制数值,是如何被计算机快速的转换成二进制码的?或者说,它的转换步骤是怎样的过程?【比如随便一个数9743,它是如何被计算机转成二进制码的?】
------解决方案--------------------
数据都是通过键盘敲进去的,所以数据是在键盘敲进去过程中通过硬件电路转换完成的,所以这个速度很快。不知道你学过数字电路没有,十进制转换到2进制:
10线-4线(十进制――BCD码)编码器74LS147集成片
------解决方案--------------------
计算机内都是2进制的,不存在十进制的数据。当然你会问,那电脑怎么显示出10进制的数呢?这个就是依赖软件和显示器完成的,要显示0101对应的5,首先软件自身是知道0101是对应5的(你都知道),然后查找对应5的字体,或者说是5的矢量图和点阵图,通过显示器将图像显示出来。
拓宽了讲,计算机能只存储二进制,不管是显示10进制的数,还是显示汉字,首先软件必须支持相应的字形和字体,硬件显示器只不过是把图像绘制出来而已。
------解决方案--------------------
不断的求余!!!