【发布时间】:2021-01-28 20:47:07
【问题描述】:
我知道一切都以 0 和 1 的形式存储在计算机内存中。具体来说,让我们以整数为例。我们分配 n = 5,它的等效二进制将是 101 和 29 个前导 0。我们很容易通过重复 n%2 和 n/2 来找到二进制文件。 但我的问题是计算机如何进行这种转换,因为计算机无法对给定的十进制数进行任何操作。如果有人正在考虑编写将十进制转换为二进制的程序,那么输入数字也首先存储为二进制然后完成操作。所以归结为我的问题,计算机如何在不进行任何算术运算的情况下找到数字的二进制。我非常想知道这个过程。
如果我在思考过程中的某个地方有错误,请纠正我。
【问题讨论】:
-
5是计算机向您显示以00000101表示的东西的方式(如果您要求的话)。数字就是数字,所有的基本表示都是等价的。 -
(1) 您是如何将字符串“5”转换为二进制的?如何将字符串“50”转换为二进制(提示 5 * 10)?计算机做同样的事情。
-
没有"conversion"?!?我不知道你在说什么。
-
ASCII 码是计算机可以操作的 1 字节二进制整数。对于特定的 x86 示例,请参阅NASM Assembly convert input to integer?(此问题最初标记为 [assembly]。在汇编中,所有内容,甚至代码,都只是内存(或寄存器)中的字节。)
-
顺便说一句,一个大段落,每隔一个句子加粗并不能真正提高可读性。除了第一个粗体句子之外,突出显示的内容过多。
标签: language-agnostic decimal cpu-architecture