当前位置:网站首页>20220605 Mathematics: divide two numbers
20220605 Mathematics: divide two numbers
2022-07-03 10:11:00 【Seeyouagain】
Title Description : Given two integers , Divisor dividend
And divisor divisor
. Divide two numbers , Multiplication is not required 、 Division and mod Operator . Return dividend dividend
Divide by divisor divisor
Get the business . The result of integer division should be truncated (truncate
) Its decimal part , for example :truncate(8.345) = 8
as well as truncate(-2.7335) = -2.
coded :
public int divide(int dividend, int divisor) {
int result = 0;
int minValue = Integer.MIN_VALUE,maxValue = Integer.MAX_VALUE;
if (dividend == 0){
return 0;
} else if(dividend == minValue && divisor == -1){
return maxValue;
} else if(dividend == minValue && divisor == 1){
return minValue;
} else if(dividend == minValue && divisor == minValue){
return 1;
} else if(divisor == minValue){
return 0;
}
boolean negative = (dividend ^ divisor) < 0;
if(dividend == minValue) {
dividend += Math.abs(divisor);
result++;
}
dividend = Math.abs(dividend);
divisor = Math.abs(divisor);
for(int i = 31; i >= 0; i--) {
if((dividend >> i) >= divisor) {
result += 1 << i;
dividend -= divisor << i;
}
}
if(result == minValue){
return maxValue;
} else{
return negative ? -result : result;
}
}
边栏推荐
- Retinaface: single stage dense face localization in the wild
- Vscode markdown export PDF error
- LeetCode - 919. 完全二叉树插入器 (数组)
- Simulate mouse click
- Development of intelligent charging pile (I): overview of the overall design of the system
- LeetCode - 895 最大频率栈(设计- 哈希表+优先队列 哈希表 + 栈) *
- Swing transformer details-1
- Opencv histogram equalization
- 2. Elment UI date selector formatting problem
- Yocto Technology Sharing Phase 4: Custom add package support
猜你喜欢
The underlying principle of vector
Opencv gray histogram, histogram specification
LeetCode - 508. 出现次数最多的子树元素和 (二叉树的遍历)
CV learning notes - image filter
Mise en œuvre d'OpenCV + dlib pour changer le visage de Mona Lisa
LeetCode - 895 最大频率栈(设计- 哈希表+优先队列 哈希表 + 栈) *
Leetcode-112:路径总和
yocto 技术分享第四期:自定义增加软件包支持
LeetCode - 460 LFU 缓存(设计 - 哈希表+双向链表 哈希表+平衡二叉树(TreeSet))*
openEuler kernel 技術分享 - 第1期 - kdump 基本原理、使用及案例介紹
随机推荐
2021-10-27
Circular queue related design and implementation reference 1
Vscode markdown export PDF error
LeetCode - 5 最长回文子串
Deep Reinforcement learning with PyTorch
Screen display of charging pile design -- led driver ta6932
CV learning notes - image filter
Leetcode interview question 17.20 Continuous median (large top pile + small top pile)
CV learning notes - edge extraction
The underlying principle of vector
Window maximum and minimum settings
yocto 技术分享第四期:自定义增加软件包支持
Flutter 退出当前操作二次确认怎么做才更优雅?
【C 题集】of Ⅵ
Opencv note 21 frequency domain filtering
01 business structure of imitation station B project
Opencv histogram equalization
20220610其他:任务调度器
Positive and negative sample division and architecture understanding in image classification and target detection
Discrete-event system