如何在任何平台上识别字节的大小?

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 位,与平台无关(根据下面的评论编辑)。否则你可以这样做:

  1. 将一个字节(或 int)设置为 -1
  2. 计算上述变量中​​的位数(如果使用 int,则除以 sizeof(int))。