c++字节依赖于实现
C++ Byte is implementation dependent
我一直在读C Primer Plus。
据说:请注意,byte的含义取决于实现。所以一个2字节的int在一个系统上可能是16位,在另一个系统上可能是32位。
在这里,我想我对此不确定。根据我的理解,1字节总是= 8位,所以2-byte int = 2 * 8 = 16 bits
是有意义的。但从这句话听起来像是某些系统定义1字节= 16位。对吗?总的来说,我应该如何理解这句话呢?
c++标准第1.7节第1点证实了这一点:
c++内存模型中的基本存储单元是字节。字节至少足够大,可以包含基本类的任何成员的8位代码单元Unicode UTF-8编码形式,由连续序列组成实现定义的。(…)c++程序可用的内存由一个或多个内存组成连续字节序列。每个字节都有一个唯一的地址。
字节总是由至少8位组成。它们可以大于8位,尽管这是相当罕见的。
一个字节并不总是8位。在八位字节之前(如果要显式引用8位字节,则需要使用这个术语),有4位、6位和7位字节。对于[现代]编程的目的(在几乎任何语言中),您可以假设它至少是8位。
历史上,一个字节并不总是8位。今天是,但很久以前,它可能是6,7,8,9……因此,要有一种语言,可以利用硬件的细节(为了效率),但仍然让用户表达自己在一个高层次的语言,他们必须确保int类型映射到最自然适合硬件。
相关文章:
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 为什么内存屏障依赖于变量?
- 反转依赖于 end() 的迭代器
- 编译依赖于 QTCore 库的 WASM
- 如何添加依赖于类本身的模板成员变量
- 初始化依赖于子类的继承类的常量类成员
- Makefile 创建两个库 - 一个依赖于另一个
- 对于BTreeMap和其他依赖于Ord的东西,是否有等效于C++比较器对象?
- 类成员函数参数列表是否可以依赖于模板参数?
- 依赖于类成员属性的类实例成员
- 如何让成员函数实现依赖于类的模板参数?
- 具有依赖于实现的成员函数类型的多个静态接口
- 依赖于姐妹类的类的实现
- 依赖于模板的实现
- 将 POD 联合双关到基本类型:依赖于实现或符合标准
- 依赖于实现的行为和未定义的行为之间有什么区别吗
- 依赖于构造函数参数的类方法的特殊实现
- c++字节依赖于实现
- 如何实现内部实现依赖于模板参数的类
- 枚举成员类型仍然依赖于实现