一:C语言数据类型
(一)C语言进制表示和进制转换
1.进制表示
C语言进制种类:二进制、八进制、十进制、十六进制、、
八进制前面0(如014),十六进制前面0x(如:0x12)
2.进制转换
二转八、十、十六
二转八:二进制三位作为八进制的一位1010 1101看作10 101 101 八进制➡0255
二转十:右往左依次用二进制位上的数字乘以2的n次幂的和
二转十六:四位抵一位
各个进制转二进制就是反过来,十进制是除二看余,可以百度一下都有,我用的是1286432168421的方法,感觉比较快,分享一下:
把各个位由左至右看作128、64、32、16、8、4、2、1,这就是8位,现有一个数是134转换为二进制就是看是否有这个数,例如左边第一位128,有就是1,没有就是0,然后134-128=6,6里面没有64、32、16、8,所以都为0,有4为1,6-4=2,有2为1,2-2=0,所以是1000 0110
(二)C语言数据类型
存储单位:位(0/1)、字节(8个位)、半字(16个位)、字(32位)
1.基本数据类型:
类型1:char类型–字符型
大小:1个字节
意义:代表某些符号。–通过ascii码来查看(度娘也有)。
unsignedchar–无符号char–数字变化范围:0~255(正数)
signedchar–最高位代表符号位0–正 数字变化范围:0~255
1–负 数字变化范围:-128~127
类型2:int类型–整型–保存整型数据(没有小数)
大小:16位处理器—2个字节
32位处理器—4个字节
意义:表示1个整数
分类: unsignedint–无符号int—0~2^32-1
signedint–有符号int----231–231-1
short–短整型2个字节
long–长整型4个字节
—很多库函数以及算法,在嵌入式平台移植,不确定底层处理器的位数,使用short和long
类型3:float类型–浮点型–保存数据(小数)
大小:32位–4个字节
意义:表示1个小数(保留小数点后6位)0.000001
嵌入式运行的时候,尽量把浮点型转化为整形运算。
类型4:double类型–双精度浮点型型–保存数据(小数)
大小:64位–8个字节
意义:表示1个小数(保留小数点后12位)