gpt4 book ai didi

c - 二进制、 float 和现代计算机

转载 作者:太空狗 更新时间:2023-10-29 16:23:33 24 4
gpt4 key购买 nike

我阅读了很多有关 float 和计算机处理的浮点运算的内容。我在阅读它们时看到的最大问题是为什么它们如此不准确?我理解这是因为二进制不能准确表示所有实数,所以数字四舍五入为“最佳”近似值。

我的问题是,明知如此,为什么我们仍然使用二进制作为计算机操作的基础?使用大于 2 的基数肯定会以指数方式提高浮点运算的准确性,不是吗?

与其他基数相比,计算机使用二进制数系统有什么优势,是否曾尝试过其他基数?或者有可能吗?

最佳答案

首先:即使使用以 100 为底的数字,您也无法表示所有实数。但您已经知道这一点。无论如何,这意味着:由于“无法表示所有实数”,总会出现不准确的情况。

现在让我们谈谈在做数学时更高的碱基能给你带来什么?”:更高的碱基恰好带来'无'精度方面。为什么?

如果您想使用 4 进制,则 16 位 4 进制数正好提供 416 个不同的值。

但是您可以从 32 位基数 2 中得到相同数量的不同值(232 = 416)。

正如另一个答案所说:晶体管可以打开或关闭。因此,您新设计的基数 4 寄存器需要是对(基数 2)开/关“位”的抽象。这意味着:使用两个“位”来表示一个基数为 4 的数字。但是您将仍然通过花费 N 个“位”(或 N/2 个 base-4 数字)得到恰好 2N 个级别。 您只能通过花费更多位来获得更好的准确性,而不是通过增加基数。您“想象/抽象”数字的基数(例如 printf 如何以 10 为基数打印这些以 2 为基数的数字)实际上只是一个抽象问题,而不是精度问题。

关于c - 二进制、 float 和现代计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10916107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com