APTX部落

  • ACGN
  • Coding
  • WebServer
  • Daily
  • Share
  • Bangumi
APTX Blog
A Moe Blog Set Up By Mizuki
  1. 首页
  2. OI
  3. 正文

#笔记#二进制与位运算

2018年10月17日 881点热度 1人点赞 0条评论

文章目录[隐藏]

  • 二进制
  • 位运算
  • 运算符的优先级

二进制

计算机是使用二进制进行存储和计算的。二进制运算遵循的规则是“进二”。

原码,指一个二进制数左边加上符号位后所得到的码,且当二进制数大于0时,符号位为0;二进制数小于0时,符号位为1;二进制数等于0时,符号位可以为0或1。

反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码:正数的补码与原码相同,负数的补码是其对应正数二进制所有位取反后加1。

在计算机中通常使用补码进行储存。

位运算

左移右移运算:

在二进制运算中,这东西叫做“左移”“右移”运算,顾名思义,就是将一个二进制数向左或向右移动\(k\)位,就是给一个数乘 \(2^k\)或者除 \(2^k\) (末尾1不计)。

取反运算:

“~”运算又称取反运算,就是对一个二进制数按位取反。

\[~x=-x-1\]

与运算:

“&”运算又称与运算也是一种逻辑运算符,对于二进制运算来说,“&”运算的意义是对于两个二进制数的每一位,如果这一位都是\(1\),那么这一位为

\(1\)

,否则这一位为 \(0\)。

我们可以用 & 运算判断一个数是奇数还是偶数,当 \(x\) 为奇数时, \(x\)  二进制下的第 \(0\) 位一定是 \(1\) ,否则为\(0\)  。我们让\(x\& 1\),就可以知道\(x\) 的奇偶性了。

或运算:

或运算又称“|” 运算也是一种逻辑运算符,对于二进制运算来说,“|” 运算的意义是对于两个二进制数的每一位,如果这两个数此位有一个 \(1\) 那么此位就是 \(1\) ,否则为 \(0\) 。

通过对这两个运算的观察,我们可以发现一个规律:

\[\begin{array}{l}
x\& y < = x\\
x|y > = x
\end{array}\]

异或运算:

异或运算即“^”运算定义是对于两个二进制数的每一位,如果相同则为\(0\) ,否则为 \(1\) 。

首先显而易见的是一个数异或他自己肯定是得\(0\) 的

其次对于一个形如\(2*n\)的数\(x\),x ^ 1 = x + 1而对于一个形如\(2*n+1\)的数\(x\),x ^ 1 = x - 1

然后异或运算满足以下交换律:

x^y=z那么于y^z=x,x^z=y

运算符的优先级

加减运算>移位运算>比较大小运算>与运算 >异或运算>或运算

待会补充

转自:https://www.luogu.org/blog/chengni5673/er-jin-zhi-yu-wei-yun-suan

标签: C++ 二进制 位运算 进制
最后更新:2018年12月15日

神楽坂 みずき

萌萌萌,好萌!

点赞
< 上一篇
下一篇 >

文章评论

取消回复

神楽坂 みずき

萌萌萌,好萌!

搜索
最新 热点 随机
最新 热点 随机
私たちの居る理由 《サクラノ詩》VI 章 直哉与蓝对话 从《AMRITA》到《HELLO WORLD》── 野﨑まど世界观下的个体与世界的真实感 几种云端 VSCode/类 VSCode 方案对比与部署 Summer Pockets REFLECTION BLUE 豪華限定版 早期予約色紙付き/通販・店舗対応版 React 配合后端热更新
Yandex Money塑料实体万事达借记卡评测 使用arpspoof命令进行断网攻击(ARP欺骗) C++程序查看运行时间&&空间大小&&程序运行分析 #动画#《中二病也要谈恋爱!第一季》观后感 #动漫#刀剑神域第二季1-25 1080P 斐讯N1电视盒子推荐固件及常用软件分享
标签聚合
HTML ST C/C++ C++ 动漫 OI 日常 洛谷
分类
  • ACGN
  • Coding
  • Daily
  • OI
  • Share
  • WebServer

COPYRIGHT © 2022 APTX部落. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang