1.有符号:数据
2.无符号:数字(数学意义上的加减乘除)
区别:
内存空间的最高字节是符号位还是数据位
例子:
char a=-1(-1代表0xff)
a>>1
a无法右移,因为a在内存空间中始终有一位是加减位来准备进行运算
unsigned char b=-1(-1代表0xff)
b>>1
b就可以右移,因为b在内存空间中都是数(其实就是相当于我都存的数据)
float,double:
十六进制 二进制
0x10 0001 0000
那么1.0怎么表示,显然不能用0001 0000 来表示
那咋办,就用float和double,至于它们在内部存储方式,很复杂,可以自己看微机原理
首先我们要知道float=4B,double=8B
1.0,1.1都是double类型函数,很耗内存,那么如果我们不需要那么精确
呢,那我们可以在1.0与1.1后面加个f(1.0f,1.1f)变成float,减少内存
void运算符,其实就是相当于占个坑,但是不拉屎,就是声明一个变量,但是
这个变量不能参与运算;
void a;
a++;(错!!!!!!,这里a就是个废物,不能运算,但是他占了坑)