问题描述
在C Primer Plus这本书中产生几个疑问,原文内容大概如下:
字节是计算机常用的存储单位,对于所有的机器,1字节均为8位,这是字节标准定义,至少在衡量存储单位是这样的(但是,C 语言对此不同的定义)一般而言 C 语言会保证 char类型足够大,以储存系统(实现C语言的系统)的基本字符集.
我的疑问是char 在C中一定是8位? char 与 byte 什么关系?
在C Primer Plus这本书中产生几个疑问,原文内容大概如下:
字节是计算机常用的存储单位,对于所有的机器,1字节均为8位,这是字节标准定义,至少在衡量存储单位是这样的(但是,C 语言对此不同的定义)一般而言 C 语言会保证 char类型足够大,以储存系统(实现C语言的系统)的基本字符集.
我的疑问是char 在C中一定是8位? char 与 byte 什么关系?
char的bits长度可以在limit.h中的CHAR_BIT获取,而且这个CHAR_BIT是可配置的.(也就是说买某种特殊情况下CHAR_BIT 根据机器而不是8)
byte 一般与 char 一般相同
byte
addressable unit of data storage large enough to hold any member of the basic character set of the execution environment
character
single-byte character
<C> bit representation that fits in a byte
个人认为char长度和字符集编码相关.
[参考2] :https://stackoverflow.com/que...
[参考1] :https://en.wikipedia.org/wiki...
[参考2] :http://www.open-std.org/jtc1/...
[参考2] :https://stackoverflow.com/que...
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
CHAR_BIT