1、在C语言中常用的数据类型:
char, short, int, long, float, double, struct, union, enum,signed, unsigned, void;
一般char 1byte; short 2byte; int 4byte; long 8byte;
2、首先,一起来了解一下,计算机中用于表达数据的补码,反码和原码;
我们知道计算机中是按字节来存储数据的,1byte = 8bit; 并且计算机只能识别0和1;所以在计算机中都是用二进制来表示的;
比如我们定义一个一个字节的无符号整数型变量unsigned char,他所能表示的最大范围0~255(2^8 - 1);在计算机中存储的就是00000000~11111111;所以二进制就是计算机中的样子,而十进制就是我们所表示的样子;
只有有符号的数据才有原码、反码和补码;无符号的数据是没有的;
对于有符号的数据,同样是一个字节的整型变量,不过这次是有符号的;这是他所能表达的数据类型是-128~127,其实不管是有符号的还是无符号的,它也只能最多表示256个数据。
在计算机中存储的二进制,是这样子的,最高位表示符号位,1表示负数,0表示正数;剩下的7位用来表示绝对值;所以00000000~01111111依次表示0~127;负数就是10000001~11111111依次表示-127~-1,在计算机中负数是以补码的方式存储的;
什么是补码呢?补码一般是这样介绍的,补码是反码+1;
那什么是反码? 反码就是负数的原码除符号位外其余取反;
如-1的原码是10000001,那么他的反码就是11111110,补码就是11111110+1就是11111111;所以-1在计算机中的存储方式是11111111;
其实在计算机中存储都是以补码的方式存储的,只是正数的补码和原码可以理解为相同罢了;
浙公网安备 33010602011771号