整型家族
char
unsigned char
signed char
short
unsigned short [int]
signed short [int]
int
unsigned int
signed int
long
unsigned long [int]
signed long [int]
浮点型家族
double
float
原码,反码,补码
int a=20;
一个字节等于八个比特位,int整型4个字节,一共32个比特位,所以二进制一共有32位
第一位是符号位,1代表负数,0代表正数,正数的原码反码补码都一样。负数则需要计算。
负数如何计算补码:
负数的原码依然是把十进制转换成伟二进制就得到了原码。
原码取反得到反码,除了符号位之外的所有数全部取反,二进制只有0和1,取反就是把0变成1,把1变成0.
反码+1得到补码。
比如 int a=20;
正数所以符号位是0
0000 0000 0000 0000 0000 0000 0001 0100(原码反码补码都是这个)
转换成为16进制就是 00 00 00 14
int a=-20;
原码,除符号位之外和20一样
1000 0000 0000 0000 0000 0000 0001 0100(原码)
1111 1111 1111 1111 1111 1111 1110 1011&#