一、C语言中的数据类型
二、有符号和无符号数
在C语言中,基本数据类型都可以分为有符号(signed)和无符号数(unsigned)。
示例:
三、8bit数据的存储
char ,有符号类型,在内存中占1个字节。 可以表示负数,0,正数。表示的数据范围[-128~127]
unsigned char ,无符号类型,在内存中占1个字节。可以表示0,正数。表示的数据范围[0~255]
原码、反码、补码
无符号类型的数:原码、反码、补码都相同。
有符号类型的负数的原码、反码和补码如下 :(先绝对,再减一, 然后取反)
超出范围数据的计算方法
1.先计算整数的补码(=右边的数)
2.把补码赋值给变量,然后观察变量的数据类型,
3.若是为unsinged char类型,一定为正数或0,原,反,补一样.%d输出的原码就是补码,直接转换为 元素输出即可。
4.若是为char类型,观察变量内存存储数据的最高位,1 表示为负数,%d输出需要转换为原码输出.