第三章作业

无符号的整数加法、乘法是mod2^32的加法、乘法;


证明:

#include "stdafx.h"

#include "iostream"

using namespace std;

int main()

{

unsigned int t = UINT_MAX;

cout << "令t = unsigned int 的最大值 = " << t << endl;

cout << "2^32 = " << pow(2, 32) << endl;

cout << "2^32 - t = " << pow(2, 32) - t << endl;

cout << "由上可得2^32大于unsigned int能表示的最大值\n\n";

cout << "故2^32用unsigned int表示将会溢出\n\n";

cout << "无符号整数的mod2^32等价于它们本身\n\n";

cout << "故无符号的整数的加乘为其mod2^32的加乘\n";

return 0;

}


代码运行结果如下:

令t = unsigned int 的最大值 = 4294967295

2^32 = 4.29497e+09

2^32 - t = 1

由上可得2^32大于unsigned int能表示的最大值

故2^32用unsigned int表示将会溢出

无符号整数的mod2^32等价于它们本身

故无符号的整数的加乘为其mod2^32的加乘

你可能感兴趣的:(第三章作业)