metootxy

导航

 

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;

其实在计算机中存储都是以补码的方式存储的,只是正数的补码和原码可以理解为相同罢了;

 

 

 

 

 

 

posted on 2013-04-11 21:54  metootxy  阅读(182)  评论(0)    收藏  举报