Compare commits
3 Commits
1a98dde7d5
...
6f86054fb6
Author | SHA1 | Date |
---|---|---|
flykhan | 6f86054fb6 | |
flykhan | 428eaec33c | |
flykhan | ce8fa14892 |
|
@ -0,0 +1,26 @@
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
// 定义 Linux 的文件权限
|
||||||
|
int r = 4, w = 2, x = 1;
|
||||||
|
int n = 0;
|
||||||
|
|
||||||
|
// 为 n 值添加 r 和 w 权限
|
||||||
|
n = r | w; // 6: | 位或运算符
|
||||||
|
cout << "n = " << n << endl; // 6
|
||||||
|
|
||||||
|
// 为 n 值添加 x 权限
|
||||||
|
n |= x; // 7
|
||||||
|
cout << "n = " << n << endl; // 7
|
||||||
|
|
||||||
|
// 验证 n 是否包含 w 权限
|
||||||
|
if (n & w == w) // 7 & 2 == 2: & 位与运算符
|
||||||
|
{
|
||||||
|
cout << "n 包含 w 权限" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
按位取反时,如果是有符号的,包含符号位。
|
||||||
|
将0取为1, 将1取为0
|
||||||
|
【小技巧】数据的取反,先加1,再反符号反值。
|
||||||
|
如: -9的按位取反的结果: 8, 10的按位取反的结果: -11、、
|
||||||
|
*/
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int n = 10;
|
||||||
|
cout << "~10 = " << ~n << endl; // -11 : ~ 位非运算符: 二进制取反: 0000 1010 => 1111 0101 => -11
|
||||||
|
n = -9;
|
||||||
|
cout << "~(-9) = " << ~n << endl; // 8 : ~ 位非运算符: 二进制取反: 1000 1001 => 0111 0110 => 8
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue