c语言为什么叫C语言这个例题中要求输出的C+32是什么,帮我理一下

计算机刚开始发展时字宽16位,int表礻整型就是16位,即2个字节发展到后来出现了32位机的时候,int才有32位宽,也就是4个字节发展到现在64位机,int还是4个字节

int2字节表示,即16位

long4字节表示,即32位

int4字节表示,即32位

long4字节表示,即32位

64位操作系统,有两种编译系统: 

32位编译系统int4字节表示即32位。
long4字节表礻即32位。

64位编译系统int4字节表示即32位。

long4字节表示即64位。

int 2/4个字节(8位和16位系统是2字节32位系统是4字节,64位系统还是4字节)

long 4/8个字节(除了64位系统是8字节,其他都是4字节)

还有符号型和无符号型 前缀没有带unsigned的都是有符号型。在同一个编译器和系统下有符号和无符号表礻的字节都是相同的。比如16位系统中int是2个字节,同样的 unsigned int 也是2个字节无符号型的整型,不能表示负数 比如unsigned int a;a只能是一个正整数和0不能昰负整数。

无符号类型长度总比有符号类型长度多一位比如16位int是±2^15-1 ,16位unsigned int却是2^16-1,是因为有符号整型需要一个位去作为符号位用于表示正负,所以少一位;而无符号整型不需要符号位所有位全部用于表示整数。

各类型的printf整型输出:

(4)、printf("%4d\n",a) 输出一个4位数整数输出,不够则右对齐超出则按实际输出;

(6)、printf("%-4d\n",a), 输出一个4位数整数输出不够则左对齐,超出则按实际输出;

由图可见无论什么格式,只要整数超出了位数限制都会按照实际输出!而%u,只能输出无符号数如果输出有符号数,会产生错误

我要回帖

更多关于 c语言为什么叫C语言 的文章

 

随机推荐