关于char所占用字节

既然c语言把char所占用的位数定义为1个字节,那么32位系统和64位系统有什么不同?
应该说32位系统和64位系统char的位数一样吗?

计算机行业习惯,以字节为基本单位。
无论什么编译器,都把char所占用字节数定为1,遵循 ANSI C 的标准。

32位系统和64位系统char的位数一样,都是1字节。

32位系统 机器指令 为 32位,地址/寻址 用 32位。
64位系统 机器指令 为 64位,地址/寻址 用 64位。
(32-64 过渡型的 介于两者之间)

64位系统 增加了 long long int 型 等 变量类型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-03
标准规定char至少一个字节。char实际占用多少由平台以及实现决定,在最极端的情况下char可以是64位(8个字节),不过主流的编译器都选择1个字节作为char的大小。

32位和64位系统的区别在于处理数据能力和内存寻址能力的不同。
第2个回答  2014-02-03
除非编译器太奇葩,否则char一般都是8位,至于 int 是16位还是32位还是64位倒不一定
第3个回答  2014-02-03
一样啊...都是8位...
第4个回答  2014-02-04
在现在通行的计算机体系中,字节是数据的基本计量单位,这个不论是16位还是32位、64位,都一样。但对数据的吞吐、计算,不同字长的机器在性能上有着很大的不同。
比如,一个具有8字节(64位)的数据,在32位系统中需要两次读操作才能完成整个数据的读取,而64位系统则只需要一次读操作即可;又如,在32位系统中,对数值在上百亿或者上千亿的两个整数求和时,在32位系统中需要将低32位和高32位分别求和,然后考虑进位后组合成一个超过4字节的整数;而在64位系统中则仅需一次求和即可。