为什么即使float和int的位数相同,它们的最大值也是如此不同?

为什么即使float和int的位数相同,它们的最大值也是如此不同?,第1张

为什么即使float和int的位数相同,它们的最大值也是如此不同?

您的直觉很正确地告诉您,一个 信息内容 中的 信息内容 不能超过另一个,因为它们都有32位。但这并不意味着我们不能使用这些位来 表示
不同的值。

假设我发明了两个新的数据类型

uint4
foo4
uint4
在标准的二进制表示中,使用4位表示整数

bits   value0000       00001       10010       2...1111      15

但是

foo4
使用4位来表示这些值:

bits   value0000       00001      420010     -970011       1...1110      pi1111       e

现在

foo4
有一个更 广泛 的范围比数值
uint4
,尽管具有相同的位数!怎么样?因为有些
uint4
不能
用表示
foo4
,所以位映射中的“槽”可用于其他值。


这是相同的

int
float
-它们可以从一组2倍的两个存储值32的值,只是 不同 组2个的32值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5561535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存