// 输入一个数,输出它的绝对值。 #include #include using namespace std; int main() { // 位运算方法 int x; cout << "请输入一个整数: "; cin >> x; cout << x << " 的二进制表示为: " << bitset<32>(x) << endl; int mask = x >> 31; cout << "mask: " << bitset<32>(mask) << "\t mask 的 int 值为: " << (int)mask << endl; // m cout << "x + mask: " << bitset<32>(x + mask) << "\t x + mask 的 int 值为: " << (int)(x + mask) << endl; // x + m cout << "(x + mask) ^ mask: " << bitset<32>((x + mask) ^ mask) << endl; // (x + m) ^ m = x + m ^ m = x + 0 = x cout << cout << x << " 的绝对值为: " << ((x + mask) ^ mask) << endl; return 0; // 三目运算符方法 // int x; // cout << "请输入一个整数: "; // cin >> x; // cout << x << " 的绝对值为: " << (x > 0 ? x : -x) << endl; // return 0; // if-else 方法 // int x; // cout << "请输入一个整数: "; // cin >> x; // if (x > 0) // cout << x << " 的绝对值为: " << x << endl; // else // cout << x << " 的绝对值为: " << -x << endl; // return 0; // switch-case 方法 // int x; // cout << "请输入一个整数: "; // cin >> x; // switch (x > 0) // { // case 1: // cout << x << " 的绝对值为: " << x << endl; // break; // case 0: // cout << x << " 的绝对值为: " << -x << endl; // break; // } // return 0; }