原码补码和反码
//编码就是计算机底层的0与1,如何表示数据,计算机原码表示有符号整数中的正数以及无符号整数
//对于有符号的数,0代表正数,1代表负数,对于没有符号的数就没有符号位
//正数与原码相同,可以理解为正数在计算机中按照原码来解析,而负数都是补码
#include<stdio.h>
void main()
{
/*int x = 1;
unsigned int y = 2;
printf("%x,\n%x", &x, &y);
*/
int x = -1;
printf("%x", &x);
//int 4个字节32位,所以由32位组成
//1000 0000 0000 0000 0000 0000 0000 0001 -1的原码
//1111 1111 1111 1111 1111 1111 1111 1110 -1的反码,1变0,0变1
//1111 1111 1111 1111 1111 1111 1111 1111 -1的补码,也就是反码+1
//f f f f f f f f 如果按16进制查看应该是8个f,按补码存储
getchar();
}