课程名称: 嵌入式开发基石-计算机基础与C语言
课程章节:数据进制之间的转换
主讲老师:大白老师
课程内容:
数据类型分类
数据类型细分
课程收获:
数据类型:基本类型 构造类型 指针类型 空类型
有符号和无符号
signed unsigned
8bit数据存储
char ,有符号类型,占1bytes。 可以表示负数,0,正数。范围[-128~127] -128 ~ -1 0~127
unsigned char ,无符号类型,占1bytes。可以表示0,正数。范围[0~255]
超出范围数据的计算方法
数据范围:
char [-128 ~ 127] 正数,负数,0
unsigned char [0 ~ 255] 正数,0
设计规则
无符号类型的数原码,反码,补码是它本身. [正数和0]
有符号类型的数的最高位表示符号位,0表示为正数,1表示为负数
负数的反码 = 符号位不变,其他位按位取反
负数的补码 = 反码 + 1
计算方法
先计算整数的补码(=右边的数)
把补码赋值给变量,然后观察变量的数据类型,
若是为unsinged char类型,一定为正数或0,原,反,补一样.%d输出的原码就是补码,
直接转换为元素输出即可。
若是为char类型,观察变量内存存储数据的最高位,1 表示为负数,%d输出需要转换为原码输出.