JAVA取模,取余问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA取模,取余问题相关的知识,希望对你有一定的参考价值。

5/2=2 5%2=1对了吧????那下面的该怎么算?? 2/5=? 2%5=?

/斜杠计算,只取整数部分,你只要把那个值算出来比如,2/5得到0.4那边取整数,即0;%取余,只要你把能整除指定数的那部分划掉,剩下的就是余数,比如,2%5取余,因为没有可以整除5的那部分,就不管了,那么只剩下2,即余数是2 参考技术A 第一个是0 第二个是2
如果不做类型转换的话结果去整数部分 所以第一个是0
第二个 0*5+2=2 所以是2本回答被提问者采纳
参考技术B

整数之间的取模求余运算很好求,但几乎没有遇到过对负数进行取模求余,直接看下面代码:

Java代码  

    /** 

    *  

    * @author Logic 

    */  

    public class Test   

    public static void main(String[] args)   

    // TODO Auto-generated method stub  

    System.out.println("-3%-2=" + -3%-2);  

    System.out.println("3%-2=" + 3%-2);  

    System.out.println("-3%2=" + -3%2);  

      

      

    /** 

    * Result 

    * -3%-2=-1 

    * 3%-2=1 

    * -3%2=-1 

    */  

java的取模运算支持类型:字符型(自然不包括负数)、字节型、短整型、整型、长整型、单精度浮点型、双精度浮点型。

取余是一个比较常见的运算,在各种编程语言中均有相应的运算符(Java/C的%, Pascal/Delphi的mod等等)。Java取余运算符 (%)一个表达式的值除以另一个表达式的值,返回余数。
result = number1 % number2
参数:result 任何变量。number1 任何数值表达式。number2 任何数值表达式。

参考技术C 2/5=0 2%5=2
整数相除结果取整数,%取的是余数
参考技术D 这些东西还要问?自己运行一下不就一目了然

Java取余和取模(%和Math.floorMod())的区别

%被称为取余,Math.floorMod()被称为取模。

对于整型数a,b来说,取模运算或者取余运算的方法都是:

1.求 整数商: c = a/b;

2.计算模或者余数: r = a - c*b.

%取余运算在a/b这一步骤时,得到的商,向0方向舍弃小数,之后再计算a-b*(a/b)

floorMod取模运算在a/b这一步骤时,得到的商,向负无穷方向舍弃小数,之后再计算a-b*(a/b)

符号不同的结果

举例,a=8,b=-3,此时c=-2.66…
对于%,c=-2,a%b=a-bc=2
对于floorMod,c=-3,floorMod(a,b)=a-bc=-1

以上是关于JAVA取模,取余问题的主要内容,如果未能解决你的问题,请参考以下文章

关于java取余问题

java里取余的问题

java中取余运算符 (%)

Java取余和取模(%和Math.floorMod())的区别

Java之取余操作 "%"

取模和取余详解