unsigned int负数表示和验证

来源:互联网 发布:足球滚球大小球软件 编辑:程序博客网 时间:2024/05/18 03:47

// DateTest.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
    unsigned int i=3;
    cout<<i * -1;
    //输入是:4294967293 
 return 0;
}
/*
结果分析:
unsigned int -3
对于有符号整形的最后一位作为符号位,0表示正数 1表示负数
对于负数的存放,计算机采用补码的方式(正数是源码(其实正数的补码就是源码))
负数补码也就是原数除符号位外依次求反然后再加1

1000 0000 0000 0000 0000 0000 0000 0011
补码:
1111 1111 1111 1111 1111 1111 1111 1101 = 4294967293

和结果一样的
*/