2026-07-12 20:29:52
发布于:江苏
#include <bits/stdc++.h>
using namespace std;
int main(){
cout << (~5) << endl;
cout << (~8) << endl;
cout << (~23) << endl;
cout << (~(-6)) << endl;
cout << (~(-8)) << endl;
~n = -(n+1)
return 0;
}
#if 0
运算符:
算术运算符:+-*/%
复合赋值运算符:=, += ...
关系运算符:>=, <=, >, <, !=, ==
逻辑运算符:&& || !
自增自减:++, --
☆位运算符:
&: 按位与 : 转换为二进制后逐位进行【与】计算
|: 按位或 : 转换为二进制后逐位进行【或】计算
^: 按位异或 : 相同为0,相异为1 1^1=0, 0^0=0, 1^0=1, 0^1=1
<<: 按位左移
>>: 按位右移
~: 按位取反: 计算公式 ~n = -(n+1)
(比较强势,所有位全部取反,包括符号位)
按位与:
int a = 22, b = 29;
cout << (a && b) << endl; //1
cout << (a & b) << endl; //20
22 16 + 4 + 2
29 16 + 8 + 4 + 1
0001 0110(22)
& 0001 1101(29)
_______________________
0001 0100 == 20
(补充:内存单位)
bit , 比特是内存中的最小单位
1 bit位
1 Byte(字节) = 8 bit
1 KB = 1024 Byte 千字节
1 MB = 1024 KB 兆字节
1 GB = 1024 MB 吉字节
1 TB = 1024 GB 太字节
PB EB ZB YB
二进制: Binary
二进制码:01
原码: (二进制本身)
最高位为符号位,0表示正数, 1表示负数
反码:
除了符号位,将原码的各位取反
补码: = 反码 + 1
☆1. 正数的三码合一
☆2. 所有的负数在计算机中的存储形式都是补码!!!
-22
原码:1001 0110
反码:1110 1001
补码:1110 1010(存储形式)
#endif
这里空空如也

















有帮助,赞一个