当前位置:网站首页>[Niuke classic question 01] bit operation
[Niuke classic question 01] bit operation
2022-07-07 00:49:00 【RookieStriver】
Here's the catalog title
JZ65 Do not add, subtract, multiply or divide
describe :
Write a function , Find the sum of two integers , It is required that... Should not be used in the function body +、-、*、/ Four operation symbols .
Data range : Both numbers satisfy -10 \le n \le 1000−10≤n≤1000
Advanced : Spatial complexity O(1)O(1), Time complexity O(1)O(1)
Example 1:
Input :1,2
Return value :3
Example 2:
Input :0,0
Return value :0
Algorithm ideas :
Decimal addition thought : 5+7=12, Three steps
First step : Add the values of each , It's not a carry , obtain 2.
The second step : Calculate the carry value , obtain 10. If the carry value of this step is 0, So the value of the first step is the final result .
The third step : Repeat the above two steps , Only the added value becomes the result of the above two steps 2 and 10, obtain 12.
Binary addition thought : Same as decimal , First calculate the addition result without considering carry (0+0 have to 0,1+1 Carried 0,1+0 have to 1), Use XOR to get ; Then calculate the carry result of the addition ( Same as 1 Move the position of the left one bit ), Use phase and shift back left to get .

Sample code :
int Add(int num1, int num2)
{
while (num2 != 0)// Carry is not 0 Continue to add with the addition result
{
int sum = num1 ^ num2;// Get the data of each addition regardless of carry
int temp = (num1 & num2) << 1; // Adding the same bits will carry
num1 = sum;
num2 = temp;
}
return num1;
}
int main()
{
int num1 = 0, num2 = 0;
scanf("%d%d", &num1, &num2);
int ret = Add(num1, num2);
printf("%d\n", ret);
system("pause");
return 0;
}
边栏推荐
- Advanced learning of MySQL -- basics -- multi table query -- external connection
- stm32F407-------SPI通信
- Leecode brush questions record sword finger offer 44 A digit in a sequence of numbers
- Rails 4 asset pipeline vendor asset images are not precompiled
- Attention slam: a visual monocular slam that learns from human attention
- Article management system based on SSM framework
- Hero League | King | cross the line of fire BGM AI score competition sharing
- 37頁數字鄉村振興智慧農業整體規劃建設方案
- 2022/2/11 summary
- 什么是时间
猜你喜欢

【软件逆向-自动化】逆向工具大全

Amazon MemoryDB for Redis 和 Amazon ElastiCache for Redis 的内存优化

Data analysis course notes (V) common statistical methods, data and spelling, index and composite index

JWT signature does not match locally computed signature. JWT validity cannot be asserted and should

Mujoco finite state machine and trajectory tracking

Data sharing of the 835 postgraduate entrance examination of software engineering in Hainan University in 23

用tkinter做一个简单图形界面

2022/2/10 summary

Attention SLAM:一种从人类注意中学习的视觉单目SLAM

Data processing of deep learning
随机推荐
@TableId can‘t more than one in Class: “com.example.CloseContactSearcher.entity.Activity“.
【软件逆向-自动化】逆向工具大全
Command line kills window process
Leecode brush questions record sword finger offer 44 A digit in a sequence of numbers
Zynq transplant ucosiii
Policy Gradient Methods
Deep understanding of distributed cache design
Quaternion attitude calculation of madgwick
【批处理DOS-CMD命令-汇总和小结】-跳转、循环、条件命令(goto、errorlevel、if、for[读取、切分、提取字符串]、)cmd命令错误汇总,cmd错误
equals()与hashCode()
AI超清修复出黄家驹眼里的光、LeCun大佬《深度学习》课程生还报告、绝美画作只需一行代码、AI最新论文 | ShowMeAI资讯日报 #07.06
threejs图片变形放大全屏动画js特效
Advanced learning of MySQL -- basics -- multi table query -- joint query
深度学习之线性代数
Rails 4 asset pipeline vendor asset images are not precompiled
37页数字乡村振兴智慧农业整体规划建设方案
Learn self 3D representation like ray tracing ego3rt
Distributed cache
Leecode brushes questions and records interview questions 01.02 Determine whether it is character rearrangement for each other
Compilation of kickstart file