Lig*_*ica 12 c++ language-lawyer
[C++11: 1.7]以位为单位讨论字节:
C++内存模型中的基本存储单元是字节.一个字节至少足以包含基本执行字符集(2.3)的任何成员和Unicode UTF-8编码形式的八位代码单元,并由连续的位序列组成,其数量为实现定义.最低有效位称为低位; 最重要的位称为高位.C++程序可用的内存由一个或多个连续字节序列组成.每个字节都有一个唯一的地址.
但是,我找不到标准中定义"位"的任何地方.
那么说C++不会对可能由单个位表示的值的数量进行限制吗?
是否允许三态位?
在[C++11: 1.2]"ISO/IEC 9899:1999,编程语言 - C"中列出的规范性参考文献中.
反过来,这个标准说:
[C99: 3.5]:执行环境中的1位数据存储单元足以容纳可能具有两个值之一的对象
这并不排除有点像数据存储单元甚至更大,因此C++作为一种语言确实可以支持三态位.
3.9.1.7 说
\n\n\n\n\n类型 bool、char、wchar_t 以及有符号和无符号整数类型\n 统称为整数类型。48) 整数类型\n 的同义词是整数类型。整数类型的表示应使用纯二进制计数系统定义\n值。49) [示例:此\n国际标准允许 2\xe2\x80\x99s 补码、1\xe2\x80\x99s 补码和\n整数类型的有符号大小表示。\xe2\x80\x94 结束示例]"
\n
注释49上写着
\n\n使用二进制数字 0\n 和 1 的整数位置表示,其中连续位表示的值\n 是可加的,从 1 开始,并乘以连续的整数\n 2 次幂,位可能除外排名最高。\n(改编自美国国家信息处理系统词典\n。)
\n
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |