如何在任何平台上识别字节的大小?
How do I identify the size of a byte on any platform?
sizeof(data_type)
运算符returns字节数而不是八位字节,所以一个字节的大小不一定是8位。如何在任何平台上识别字节的大小?
我想你可以sizeof(type) * CHAR_BIT
来确定位数。在 CHAR_BIT.
的定义中包含 limits.h
一个字节通常是 8 位,与平台无关(根据下面的评论编辑)。否则你可以这样做:
- 将一个字节(或
int
)设置为 -1
。
- 计算上述变量中的位数(如果使用
int
,则除以 sizeof(int)
)。
sizeof(data_type)
运算符returns字节数而不是八位字节,所以一个字节的大小不一定是8位。如何在任何平台上识别字节的大小?
我想你可以sizeof(type) * CHAR_BIT
来确定位数。在 CHAR_BIT.
一个字节通常是 8 位,与平台无关(根据下面的评论编辑)。否则你可以这样做:
- 将一个字节(或
int
)设置为-1
。 - 计算上述变量中的位数(如果使用
int
,则除以sizeof(int)
)。