初赛复习——位运算

\(1\).分类

符号 含义
&
|
^ 异或
~ 取反
<< 左移
>> 右移

\(2\).详解

\((1).\&\)(与运算)

核心:\(1\)\(1\),其余取 \(0\)

\(Example\)
\(10\)\(15\) 进行 \(\&\) 运算

\((10)_{10}\ =\ (1010)_2\)\((15)_{10}\ =\ (1111)_2\)
\(1010\ \&\ 1111\ =\ 1010\)
\((1010)_2\ =\ (10)_{10}\)
故答案为 \(10\).

\((2).|\)(或运算)

核心:有 \(1\)\(1\) ,同 \(0\)\(0\)

\(Example\)
\(10\)\(15\) 进行 \(|\) 运算

\((10)_{10}\ =\ (1010)_2\)\((15)_{10}\ =\ (1111)_2\)
\(1010\ | 1111\ =\ 1111\)
\((1111)_2\ =\ (15)_{10}\)
故答案为 \(15\).

\((3).\)^ (异或运算)

核心:相同取\(0\),相异取\(1\)

\(Example\)
\(10\)\(15\) 进行 ^ 运算

\((10)_{10}\ =\ (1010)_2\)\((15)_{10}\ =\ (1111)_2\)
\(1010\) ^ \(1111\ =\ 0101\)
\((101)_2\ =\ (5)_{10}\)
故答案为 \(5\).

\((4).\sim\)(取反运算)

核心:\(0\to1\)\(1\to0\)

\(Example\)
\(10\) 进行 \(\sim\) 运算

\((10)_{10}\ =\ (1010)_2\)
\(\sim1010\ =\ 0101\)
\((101)_2\ =\ (5)_{10}\)
故答案为 \(5\)

\((5).<<\)(左移运算)

核心:所有二进制位左移,高位丢弃,低位补 \(0\)

\(Example\)
\(10\) 的二进制位左移 \(2\)
\((10)_{10}\ =\ (1010)_2\)
\(1010<<2\ =\ 101000\)
\((101000)_2\ =\ (40)_{10}\)
故答案为 \(40\)

\((6).>>\)(右移运算)

核心:所有二进制位右移,低位丢弃,正数高位补 \(0\),负数高位补 \(1\)

\(Example\)
\(12\) 的二进制位右移 \(2\)
\((12)_{10}\ =\ (1100)_2\)
\(1100>>2\ =\ 0011\)
\((11)_2\ =\ (3)_{10}\)
故答案为 \(3\)

注:每左移 \(1\) 位相当于在十进制下 \(*2\),每右移1位相当于在十进制下 \(/2\).

\(a>>b\ =\ a\div 2^b\)
\(a<<b\ =\ a\cdot 2^b\)

posted @ 2020-10-04 14:02  _pwl  阅读(245)  评论(3编辑  收藏  举报
1 2 3
4