当前位置:网站首页>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 .
边栏推荐
猜你喜欢
How to share the same storage among multiple kubernetes clusters
5billion, another master fund was born in Fujian
谷歌seo外链Backlinks研究工具推荐
Download from MySQL official website: mysql8 for Linux X Version (Graphic explanation)
How to estimate the value of "not selling pens" Chenguang?
杰理之手动配对方式【篇】
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
The top of slashdata developer tool is up to you!!!
项目经理『面试八问』,看了等于会了
Research and practice of super-resolution technology in the field of real-time audio and video
随机推荐
鸿蒙智能家居【1.0】
Numpy——2. Shape of array
[RT thread env tool installation]
Seize Jay Chou
解决远程rviz报错问题
Redis master-slave and sentinel master-slave switchover are built step by step
Make insurance more "safe"! Kirin Xin'an one cloud multi-core cloud desktop won the bid of China Life Insurance, helping the innovation and development of financial and insurance information technolog
2022.07.04
cmd命令进入MySQL时报服务名或者命令错误(傻瓜式教学)
2022如何评估与选择低代码开发平台?
[Base64 notes] [suggestions collection]
L1-023 output gplt (Lua)
ant desgin 多选
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
Version 2.0 of tapdata, the open source live data platform, has been released
How to open an account for stock speculation? Excuse me, is it safe to open a stock account by mobile phone?
网易云信参与中国信通院《实时音视频服务(RTC)基础能力要求及评估方法》标准编制...
Micro service remote debug, nocalhost + rainbow micro service development second bullet
多个kubernetes集群如何实现共享同一个存储
Matplotlib drawing 3D graphics