gpt4 book ai didi

c++ - 用 uint8_t 或 char 来表示按字节排列的二进制数据哪个更好?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:27 26 4
gpt4 key购买 nike

我喜欢 uint8_t,因为我觉得它的意图(二进制数据,而不是字符)表达得更好。但是,有许多我可能想要调用的基于字符的 I/O 函数。只是想知道是否有人们遵守的最佳实践?这是我第一次涉足字节级 I/O。

最佳答案

char 的问题是它可能是有符号类型(范围至少为 -127..+127)或无符号类型(范围至少为 0..255)。

unsigned char比普通的好char用于面向二进制字节的数据。

uint8_t ,如果存在,将具有与 unsigned char 相同的范围和表示形式,并且可能只是同一类型的另一个名称。

请注意,C++(如 C)将 字节 定义为给定系统上的最小可寻址存储单元。它至少 8 位,并且在您可能使用的任何系统上都可能恰好是 8 位,但允许更宽。宏CHAR_BIT , 在 <stddef.h> 中定义或 <cstddef> , 告诉您一个字节中的位数。

如果您想绝对保证您使用的是 8 位字节,请查询 CHAR_BIT 的值或使用 uint8_t .如果字节大于 8 位,则 uint8_t将不存在(因为不会有满足其要求的类型)。

关于c++ - 用 uint8_t 或 char 来表示按字节排列的二进制数据哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21296997/

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