• java中的取整(/)和求余(%)


    1.取整运算符
    取整从字面意思理解就是被除数到底包含几个除数,也就是能被整除多少次,那么它有哪些需要注意的地方呢?
    先看下面的两端代码:

    int a = 10;  
    int b = 3;  
    double c= a / b;  
    System.out.println(c);  

    第一段代码的运行结果是3.0, 其中double c = a / b;//c = (10/3) = (double)3 = 3.0,这里面涉及到一个低精度到高精度的隐式装换。

    int a = 10;  
    int b = 3;  
    double c= (double)a / b;  
    System.out.println(c);  

    第二段代码的运行结果是3.3333333333333335,其中double c = (double)a / b;等价于double c= 10.0 / 3.0;
    减乘除计算,会先统一操作数的精度,其规则是先统一成精度高的数。
    double型/int型、int型/double型,最后都转成double型/double型。

    2.求余运算符

    取余运算符是%是一个双目运算符,它的操作数通常是正整数也可以是负数甚至是浮点数,如果负数参与此运算,则结果的正负取决于前面一个数是整数还是负数。
    对于整数,java的取余运算规则如下

    a%b=a-(a/b)*b 
    5%3=5-(5/3)*3=2 
    5%-3=5-(5/-3)*-3=2 
    -5%3=-5-(-5/3)*3=-2 
    -5%-3=-5-(-5/-3)*-3=-2 
    如果操作数中有浮点数则采用的规则为 
    a%b=a-(b*q),这里q=int(a/b) 
    5.2%3.1=5.2-1*3.1=2.1 
    5.2%-3.1=5.2-(-1)*(-3.1)=2.1 
    -5.2%3.1=-5.1-(-1)*3.1=-2.1 
    -5.2%-3.1=-5.1-(-1)*(-3.1)=-2.1 

    http://blog.csdn.net/u011514810/article/details/52754157













  • 相关阅读:
    2017北京网络赛 J Pangu and Stones 区间DP(石子归并)
    2017北京网络赛 F Secret Poems 蛇形回路输出
    2017 北京网络赛 E Cats and Fish
    CF 1198 A. MP3 模拟+滑动窗口
    博弈论
    gym 101911
    容器STL
    POJ 3281 Dining 最大流+拆点
    hdu 1533 Going Home 最小费用最大流 (模板题)
    C#博文搜集
  • 原文地址:https://www.cnblogs.com/softidea/p/7760403.html
Copyright © 2020-2023  润新知