当前位置:网站首页>Introduction to bit operation
Introduction to bit operation
2022-07-07 19:40:00 【The lights are on`】
Bit operation learned from Yu Ju , To share a wave of
What is bit operation ?
An operation : Bit operation is the operation provided by the system to directly operate the digits of numbers . There are the following operations :
<< Shift left operator
>> Shift right operator
| or
& And
~ Take the opposite
^ Exclusive or
The system stores numbers in binary , That is, every number in memory is composed of 0、1 The string formed ; Introduce the decimal word ( I.e 、 Ten 、 One hundred, etc , Be careful , This is just a quote , The object described is still binary 0、1 character string ), Bit operation is to directly change the number in some base , Give a few examples to illustrate :
The strings in the following brackets are binary , No more marking
- (1010)>>1 This operation means 1010 Moves to the right one , It turned out to be (101); Because the fourth 0 Due to the right shift, it is discarded , If (1010)>>2, The result is (10), Because the last 10 Are all rounded off .
- (1010)<<1 This operation means 1010 The left one , The result is (10100); The extra digits make up 0, Top ten 1 Moved to the hundreds .
- & 、 | Operation and programming language || and && Same operation , If all are 1 be & As the result of the 1, One is 1 be | As the result of the 1, In other cases, the result is 0. Such as 1010 & 0010=0010,1010 | 0010=1010.
- ~ The operation is different from !, This operation is to make 0、1 swap , namely 0 become 1,1 become 0; Such as ~1010 The result is 0101 .
- ^ Exclusive or operation , Is to judge whether the two are different , The difference is 1, The same thing is 0. such as 1010 ^ 0011 = 1001.
- among , In XOR operation , Any number exclusive or 0 unchanged , Any number exclusive or 1 It's the opposite . Such as 1010 ^ 1=1011.
- What we should pay attention to here is ,&、|、^ The operation is the operation of a single letter in the corresponding position of two strings , for example :1010 | 1=1011, The latter has only one , As for the last bit of the former, or operation , The first three of the former are not affected .
Bit operation tips :
Introduce a bit operation tips :
a=a^b;
b=a^b;
a=a^b;
ask : What are the functions of these three statements ?
Let's deduce it to know :
so , The function of a statement is to exchange a,b Value .
Basic operation of bit operation :
Basic bit operations are important , Here are some parts of :
- Get rid of the last one :x>>1
- Add one at the end 0:x<<1
- Add one at the end 1:x<<1 + 1(+ Also available | )
- Turn the last one into 1:x | 1
- Turn the last one into 0:(x>>1)<<1 perhaps x | 1 - 1
- Last negative :x^1
- Number right k A into 1:x | (1<<(k-1))
- Number right k A into 0:x & (~(1<<(k-1)))
Operation priority :
When writing code, you must pay attention to the possible impact of different operator priorities , So be sure to add parentheses .
边栏推荐
- 多个kubernetes集群如何实现共享同一个存储
- 8 CAS
- 2022如何评估与选择低代码开发平台?
- ASP.NET幼儿园连锁管理系统源码
- Uvalive – 4621 CAV greed + analysis "suggestions collection"
- Experiment 1 of Compilation Principle: automatic implementation of lexical analyzer (Lex lexical analysis)
- Research and practice of super-resolution technology in the field of real-time audio and video
- Unable to link the remote redis server (solution 100%
- Kirin Xin'an with heterogeneous integration cloud financial information and innovation solutions appeared at the 15th Hunan Financial Technology Exchange Conference
- what‘s the meaning of inference
猜你喜欢
Micro service remote debug, nocalhost + rainbow micro service development second bullet
Tips and tricks of image segmentation summarized from 39 Kabul competitions
How to share the same storage among multiple kubernetes clusters
位运算介绍
Jerry's headphones with the same channel are not allowed to pair [article]
Kunpeng developer summit 2022 | Kirin Xin'an and Kunpeng jointly build a new ecosystem of computing industry
Kirin Xin'an cloud platform is newly upgraded!
8 CAS
9 原子操作类之18罗汉增强
How to estimate the value of "not selling pens" Chenguang?
随机推荐
Numpy——axis
Uvalive – 4621 CAV greed + analysis "suggestions collection"
How to open an account for stock speculation? Excuse me, is it safe to open a stock account by mobile phone?
【Confluence】JVM内存调整
how to prove compiler‘s correctness
凌云出海记 | 赛盒&华为云:共助跨境电商行业可持续发展
648. 单词替换
LC: string conversion integer (ATOI) + appearance sequence + longest common prefix
浏览积分设置的目的
AI writes a poem
网易云信参与中国信通院《实时音视频服务(RTC)基础能力要求及评估方法》标准编制...
Netease Yunxin participated in the preparation of the standard "real time audio and video service (RTC) basic capability requirements and evaluation methods" issued by the Chinese Academy of Communica
LC:字符串转换整数 (atoi) + 外观数列 + 最长公共前缀
Micro service remote debug, nocalhost + rainbow micro service development second bullet
Kirin Xin'an joins Ningxia commercial cipher Association
杰理之开机自动配对【篇】
Kirin Xin'an with heterogeneous integration cloud financial information and innovation solutions appeared at the 15th Hunan Financial Technology Exchange Conference
网信办公布《数据出境安全评估办法》,9 月 1 日起施行
小试牛刀之NunJucks模板引擎
多个kubernetes集群如何实现共享同一个存储