基本数据类型的运算

来源:互联网 发布:周润发 心事谁人知 编辑:程序博客网 时间:2024/04/28 17:25


#include <iostream >#include <cstdio>using namespace std;void test_int(){printf("\ntest int:\n");int a = 100000;cout << "100000 * 100000 = " << a * a << endl;cout << " 14  / 5  = " << 14 / 5 << endl;cout << " 14  % 5  = " << 14 % 5 << endl;cout << " -14 / 5  = " << -14 / 5 << endl;cout << " -14 % 5  = " << -14 % 5 << endl;cout << " 14  / -5 = " << 14 / -5 << endl;cout << " 14  % -5 = " << 14 % -5 << endl;cout << " -14 / -5 = " << -14 / -5 << endl;cout << " -14 % -5 = " << -14 % -5 << endl;}void test_double(){printf("\ntest double:\n");double c, d, z;c = 1.0; d = 0.0;cout << " 1.0  / 0.0 = " << c/d << endl;c = -1.0; d = 0.0;cout << " -1.0 / 0.0 = " << c/d << endl;c = 0.0; d = 0.0;cout << " 0.0  / 0.0 = " << c/d << endl;z = 1.0;cout << " z = 1.0; z = " << z << endl;z /= 12345678912345.0;cout << " z /= 12345678912345.0; z = " << z << endl;z += 1.0;cout << " z += 1.0; z = " << z << endl;z -= 1.0;cout << " z -= 1.0; z = " << z << endl;z *= 12345678912345.0;cout << " z *= 12345678912345.0; z == " << z << endl;}void test_bool(){printf("\ntest bool:\n");cout << "(1 <= 2) = " << (1 <= 2) << endl;cout << "(3 == 4) = " << (3 == 4) << endl;cout << "(5 != 6 && -7 <= 10) = " << (5 != 6 && -7 <= 10) << endl;cout << "(1234 & 5678) = " << (1234 & 5678) << endl;cout << "(1 << 16) = " << (1 << 16) << endl;}void test_order(){printf("\ntest order:\n");int a = 2, b = 3;cout << "(a++) * (a+2*b) * (b++) = " << (a++) * (a+2*b) * (b++) << endl;}void test_char(){printf("\ntest char:\n");cout << "'A ' + 2 = " << 'A' + 2 << endl;cout << "(char)('A ' + 2) = " << (char)('A' + 2) << endl;cout << "'z' - 'f' = " << 'z' - 'f' << endl;}int main(){test_int();test_double();test_bool();test_char();test_order();return 0;}/*test int:100000 * 100000 = 1410065408 14  / 5  = 2 14  % 5  = 4 -14 / 5  = -2 -14 % 5  = -4 14  / -5 = -2 14  % -5 = 4 -14 / -5 = 2 -14 % -5 = -4test double: 1.0  / 0.0 = inf -1.0 / 0.0 = -inf 0.0  / 0.0 = nan z = 1.0; z = 1 z /= 12345678912345.0; z = 8.1e-014 z += 1.0; z = 1 z -= 1.0; z = 8.10463e-014 z *= 12345678912345.0; z == 1.00057test bool:(1 <= 2) = 1(3 == 4) = 0(5 != 6 && -7 <= 10) = 1(1234 & 5678) = 1026(1 << 16) = 65536test char:'A ' + 2 = 67(char)('A ' + 2) = C'z' - 'f' = 20test order:(a++) * (a+2*b) * (b++) = 48*/




0 0
原创粉丝点击