什么是N位签名整数的最大保证范围



一些背景:

  • 在C 20之前,C 标准允许进行任何签名的整数表示,并且n位签名整数的最小保证范围是从-(2^(N-1) - 1)+2^(N-1) - 1
  • c 20标准提案(如@Sneftel所述(允许唯一的表示从-2^(N-1)+2^(N-1) - 1的保证范围。
  • 据我了解,Min-Max的值范围必须是连续的。

我试图找到任何n位签名整数的最大范围的引号,但没有发现。

所以我想知道(在C 方面(:

  1. 假设最大可能的N位签名整数范围是从-2^(N-1)+2^(N-1)的最大范围吗?会更宽吗?
  2. 是否会受到基础平台位实现的影响 - 例如" 3-State-lit"或类似的东西?

c 2a,虽然预计成为C 20标准,但还没有。

除此之外,尽管当前草案强制执行签名整数的两个组合表示,但当前标准(C 17(和所有先驱限制了选择
具体而言,提供的其他选项是签名的幅度表示和一个补充。两种功能负零

有有关n位签名整数范围的信息。具体而言,并非所有这些对象代理的N 1 都需要是值代理的N 2 位的一部分,除了狭窄的字符外类型。因此,值代表的n位宽度可能较小。考虑到Pigonhole原理,也就不足为奇了。

假设位是二进制的假设是将语言深深嵌入的,就像它遍及许多其他编程语言一样。改变这将是一个主要项目。

当前没有最终的C 20标准。您可能想到的提案是P1236,它说:

签名整数类型的代表值范围为-2^(n-1(至2^(n-1(-1(包含性(,其中n称为类型的范围指数。

这既是最大又是最小值。由于该提案需要两人对签名整数的补充,因此没有任何变化的机会。毫不费力地,n位不能用来表示超过2^n个不同的值(通过鸽子洞原理(,因此即使仅将其指定为最小范围,范围也可以达到重要性。

至于三态位,那些不适用于语言。

相关内容

  • 没有找到相关文章

最新更新