博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Divide Two Integers
阅读量:4074 次
发布时间:2019-05-25

本文共 1114 字,大约阅读时间需要 3 分钟。

Divide Two Integers

Divide two integers without using multiplication, division and mod operator.

If it is overflow, return MAX_INT.

Java代码:

public class Solution {    public int divide(int dividend, int divisor) {        long dividend_l = (long)dividend;        long divisor_l = (long)divisor;        int sign = (dividend > 0 && divisor > 0) ||                    (dividend < 0 && divisor < 0) ? 1 : -1;        dividend_l = Math.abs(dividend_l);        divisor_l= Math.abs(divisor_l);        if (dividend_l < divisor_l) {            return 0;        }        long div_base = divisor_l;        long base = 1;        while ((div_base << 1) <= dividend_l) {            base <<= 1;            div_base <<=1;        }        long value = 0;        while (dividend_l > 0 && div_base >= divisor_l) {            if (dividend_l >= div_base) {                value += base;                dividend_l -= div_base;            }            base>>=1;            div_base>>=1;        }        if (sign > 0) {            return (int)Math.min(value, Integer.MAX_VALUE);        } else {            return (int)-value;        }    }}

转载地址:http://cpuni.baihongyu.com/

你可能感兴趣的文章
发布和运行HOLOLENS程序注意这里要勾上,不然就成普通的UWP程序了!
查看>>
Hololens入门之语音识别(语音命令)
查看>>
[自学总结] Unity5.3 API 之 Audio Mixer
查看>>
UNITY 之FixedUpdate
查看>>
HOLOLENS程序发布,这个界面调用的图片
查看>>
看出在玩啥了吗?想不想体验下
查看>>
Time.deltaTime 的平均值在0.1-0.2左右
查看>>
向量加减法运算及其几何意义
查看>>
magnitude是精确距离,sqrMagnitude是节省CPU的粗略距离,精度有损失
查看>>
学习和研究下unity3d的四元数 Quaternion
查看>>
一些最最基本的几何图形公式
查看>>
Non-convex MeshCollider with non-kinematic Rigidbody is no longer supported in Unity 5.
查看>>
理解四元数的一些文章
查看>>
Unity Shader入门
查看>>
片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但
查看>>
UNITY自带的3D object没有三角形?
查看>>
Lambert(朗伯)光照模型 和Half Lambert的区别
查看>>
float4数据类型
查看>>
【Unity Shaders】学习笔记
查看>>
Holographic Remoting Player
查看>>