基本数据类型是C语言中常用的数据类型
具体有:
int 整型
char 字符型
float 单精度浮点型
double 双精度浮点型
long 长整型
short 短整型
整型和长整型的内存都是4字节(无符号整型与无符号长整型也都是4字节)
短整型和无符号短整型的内存都是2字节
双长整型(long long)和无符号双长整型都是8字节
其中,1字节=8位(【0000 0000】)
位是比字节更小的单位,如二进制位,就像cm后面还有mm一样
"比特"(bit)也是"位"的意思,位便是信息的最小单位
“无符号‘即指对应符号前面加上unsigned
eg: unsigned int 无符号整型
无符号的意思是指没有负数(-),均默认正数
下面先来看看字符型(char),当然,叫”字符“也恰好表明了它的内存大小只有1字节
eg: char ch = 'a'
现在只讲存储单个字符的
同时,下面的代码也能正常操作
eg: char sh = 65
这是为什么呢?是因为字符可以和数字之间可以有类型的转换 ASCII
这里的65(十进制)在ASCII表中代表了字符A,所以其输出结果实际为'A'
浮点型:存储的是小数,分为单精度浮点型和双精度浮点型
其中,float占4字节,同整型int;double占8字节,同双长整型
区别就是两者精确度不一样,float精确到小数点后6-7位,double精确到小数点后16-17位
同时,如果你没有定义对应小数,编译器一般默认小数类型为double
float a = 1.123456f
上述代码中的f的意思也是代表着a为单精度浮点型,打印时(记得用%f)是不显示出来的
现在来说说高精度浮点型和低精度浮点型,两者的概念其实是相对的,值得注意的是,如果是低精度与高精度之间的计算,那么运行数据通常会往高精度上靠
如果你把一个小数数据赋值给你的一个整型变量,那么整型变量只会保留整数部分,小数部分将被忽略掉,个人认为这样可以说成是“数据类型选择错误”的误区
eg:int a = 3.14
其输出结果也会是a = 3,而不是3.14
当然,本文所有说都是变量里面的内容
Comments NOTHING