c++ - N位有符号整数的最大保证范围是多少?
问题描述
一些背景:
- 在 C++20 之前,C++ 标准允许任何有符号整数表示,并且 N 位有符号整数的最小保证范围是从
-(2^(N-1) - 1)
到+2^(N-1) - 1
. - C ++ 20 标准提案(如@Sneftel 所述)允许唯一具有保证范围的表示从
-2^(N-1)
to+2^(N-1) - 1
。 - 据我了解,最小值-最大值的范围必须是连续的。
我试图找到 N 位有符号整数的最大范围的任何引号,但没有找到。
所以我想知道(就 C++ 而言):
- 假设 N 位有符号整数的最大可能范围限制在
-2^(N-1)
到是否正确+2^(N-1)
?能不能更宽? - 它会受到底层平台位实现的影响——比如“3-state-bit”或类似的东西吗?
解决方案
推荐阅读
- java - Java Swing 应用程序在应该缩放到正常大小时在高 DPI 屏幕上看起来很小
- angular - 如何在 Angular 2+ 中创建自定义分页?
- powershell - powershell - 类 - 在它自己的类中调用构造函数并返回它
- node.js - 为 Dialogflow Skype 集成验证用户身份
- node.js - 是否可以使用 mongoose 从引用对象的数组中提取元素?
- python - PyTest Matplotlib 图出现在节目中
- mongodb - mongodb副本集配置问题
- jquery - 为什么 jQuery 看不到我的插件的方法?
- android - ContentPovider 的 CRUD 操作混乱
- reactjs - 如何绑定对象以在 reactjs 中选择?