gpt4 book ai didi

c++ - 具有 2 字节(或更多)原子字节顺序的架构

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:16:18 24 4
gpt4 key购买 nike

直到最近,我认为通过指定架构是 big-endian 还是 little-endian 我们可以涵盖大多数系统(除了 middle-endian 但这些系统不是很常见)。但是后来,我读到字节顺序“原子”可以大于字节,因此这些系统:

  • 1 字节原子的小端
  • 2 字节原子的小端

将以不同的方式编码整数。

问题:原子数等于或大于二的常见系统有多常见?

其他问题

  • 原子大小能否取决于整数的类型(例如,uint32_tuint64_t 的不同原子)?
  • 即使在具有 2 字节字节序原子的系统上,我是否可以保证 char 始终为 1 字节长?

最佳答案

如果您需要担心机器的特定 native 字节顺序,可以使用 ntohl() 等函数和 ntohs() ,或者一次只读取一个字节。

不能保证 char恰好是 8 位宽(查看 <limits.h> 以检查数字),但是 char保证至少为 8 位宽(以便 char[] 可以容纳 UTF-8 字符串)和 sizeof(char)保证为 1。如果您需要精确的 8 位宽类型,请使用 uint8_t .

关于c++ - 具有 2 字节(或更多)原子字节顺序的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com