在java中的  %  实际上是取余。

下面为数学概念上的取余和取模:

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

    1.求 整数商: c = a/b;
    2.计算模或者余数: r = a - c*b.
求余和求模的区别:
          取余:在第一步求c的时候,c向负无穷方向舍入(向0取整)。
          取模:在第一步求c的时候,c向0方向舍入(向下取整)。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
例如:
   -7Mod4:
 a=-7  , b= 4;
求余: c=-7/4=-1   (-1.75向0取整为-1)
            r=-7-(-1*4)=-3
求模: c=-7/4=-2  (-1.75向下取整 )
    r=-7-(-2*4)=1
 
归纳:当a,b的符号一致时,所得的c 是一样的,所以结果也一样
   当a,b的符号不一致的时候,求模时的 c 的符号与  b  一致,求余的符号与  a  一致
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在java中  %  的实际意思是 取余,所以求余的时候,只看a的符号,也是就%左边的那个数字的符号
在其他语言中 %  的意思也有取模的意思,例如 python

java中的%取模的更多相关文章

  1. Python中的取模运算

    C++中的取模运算符%只能对整数使用(如果要对浮点数使用需要fmod),Python则不同,对整数或浮点数均有效. 在这里再介绍一下取模的定义:假设a,b两个数,那么a mod b = a - n*b ...

  2. ACM中的取模

    取模本身的性质:(之前有一篇博客写过)三则运算(+,-,*)过程中的取模与最后的取模一样(前提是最后不超long long(或int) 范围,所以为防止超范围,直接对三则运算中的过程取模) 然后就是A ...

  3. PHP中关于取模运算及符号

    执行程序段<?php  echo 8%(-2) ?>,输出结果是: %为取模运算,以上程序将输出0 $a%$b,其结果的正负取决于$a的符号. echo ((-8)%3);     //将 ...

  4. java中int取值范围是怎么计算的?

    首先jdk中定义int占4个字节 ===> 32位(后面全部的计算都是以此为根据的) 32位就是jvm仅仅给分配32个格子的空间,用以存放数据. 总所周知计算机中用0和1存放数据. 那么,32个 ...

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

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

  6. java中byte取值范围为什么是 -128到127

    概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数.正数补码为其本身:负数补码为其绝对值各位取反加1:例如:+21,其二进制表示形式是000101 ...

  7. Java中分别取数的整数及小数部分

    import java.math.BigDecimal; import java.util.Scanner; /** * Created by Administrator on 2016/9/20. ...

  8. 关于Java中线程取值并返回的方法

    如何让一个线程不断跑起来,并且在取到值的时候能返回值而线程能继续跑呢? 我们都知道可以用Callable接口获得线程的返回值,或者触发事件监听来操作返回值,下面我将介绍另一种方法. public ab ...

  9. 030、Java中的求模计算

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

随机推荐

  1. JS高阶---闭包面试题

    [面试题1] 答案:The Window 分析: 本案例里,不存在闭包. 条件: .函数嵌套(满足) .内部函数调用外部函数变量(没有) 综上所述,该例中不存在闭包 [面试题2] 答案:My Obje ...

  2. IDEA 一键生成所有setter方法(GenerateAllSetter插件)

    GenerateAllSetter插件使用效果如下: alt+enter快捷键选择Generate all setter 之后就会自动生成其中的所有setter方法 下面介绍idea安装步骤: alt ...

  3. 如何使用jmockit进行单元测试

    1. Jmockit简介 JMockit 是用以帮助开发人员编写测试程序的一组工具和API,它完全基于 Java 5 SE 的 java.lang.instrument 包开发,内部使用 ASM 库来 ...

  4. 201871010107-公海瑜《面向对象程序设计(java)》第6-7周学习总结

    201871010107-公海瑜<面向对象程序设计(java)>第6-7周学习总结                项目                                内容 ...

  5. shell-处理用户输入

    命令行参数 #./admin 10 30 读取参数 [root@localhost scrips]# vi test28.sh #!/bin/bashfactorial=1for ((number=1 ...

  6. BERT

    推出一个半月,斯坦福SQuAD问答榜单前六名都在使用BERT   BERT 成为了你做 NLP 时不得不用的模型了……吗? 今日,机器之心小编在刷 Twitter 时,发现斯坦福自然语言处理组的官方账 ...

  7. springsecurity的http.permitall与web.ignoring的区别

    permitAll配置实例 @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { ...

  8. 判断所有的input框不能为空

    // 判断input框(除了类名为min1和max7)是否为空 function isEmpty(){ var flag=true; $("input[type='text']") ...

  9. 测试总结(没有rank1)

    一个初三蒟蒻不可能rank1.jpg T1: 给出两个单词 (开始单词和结束单词) 以及一个词典. 找出从开始单词转换到结束单词,所需要的最短转换序列.转换的规则如下:1.每次只能改变一个字母2.转换 ...

  10. A1083 List Grades (25 分)

    Given a list of N student records with name, ID and grade. You are supposed to sort the records with ...