编译器如何将十六进制转换成二进制,因为计算机不读取十六进制?

时间:2021-03-24 09:11:49   作者:
事情是这样的。电脑什么都“理解”不了。

他们对hex F一无所知。他们也不知道任何关于“二进制1111”的事情。归根结底,它们只是一组携带电流的导线,以及一组阻挡、传导或以其他方式组合这些电流的电路元件。

当然,可以说人类大脑中的神经元也是如此,但我们声称自己“理解”了用十六进制表示法表示的数字之类的东西。

从这个意义上说,计算机也可以通过软件来“理解”事物。专门为此目的设计的软件。

但在电路层面上,情况并非如此。在电路层面,我们有一些简单的计算元素,可以做一些基本的事情,比如根据布尔运算符的真值表将两个电流组合起来,执行一个“和”、一个“或”或一个否定。

现代处理器当然可以做更复杂的运算,包括数学运算。但是,这些也只是由人类设计师设计的奇特电路,用来组合电线中的电流,假设这些电流代表一个数字:根据特定的人类标准或约定,一个有符号或无符号整数或浮点数。

也就是说,是我们人类决定,例如,一个浮点数最好用64位(也就是说,64个载流导线)来表示,它被分为一个52位小数部分,一个11位的有符号指数和一个有符号位。实现这一点的CPU并不“理解”它。它只是有(人类设计的)电路来处理这样的64位数据集,使其结果对应于加法、乘法或超越函数的结果。

把一台电脑想象成一个白痴学者。一个极有天赋的人,他学会了用数来做算术,却从来没有理解过数字的含义。一个人谁能告诉你根号12854.32144十位数的准确性后几秒钟的思考,但人并不知道6的区别和半打,因为他只学会了算术规则没有掌握数字的含义,因为他们代表数量。这就是电脑。

当然,软件能做的远不止这些。它可以使用计算机的机器来执行更加复杂的任务,就像人类使用神经元的机器来执行复杂的智力任务一样,无论是算术、把握6个和6个之间的区别,还是欣赏海上日落之美。
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:123456789@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。