在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. react知识点

    http://www.cocoachina.com/webapp/20150721/12692.html http://blog.csdn.net/slandove/article/details/5 ...

  2. 201871010114-李岩松《面向对象程序设计(java)》第十五周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  3. 杂项-FLAG

    题目 最低位隐写 50 4B 03 04 压缩格式zip的文件头 save bin 保存成zip格式 解压(WinRAR不能正常解压) 然后用vim打开(winhex也可以) hctf{dd0gf4c ...

  4. day34_8_16 MySQL数据库一

    一.数据库概念 在没有数据库时,编写项目都是使用db模拟数据库.将文件以列表或字典等存入文件夹. 但是,不同的程序员存放数据的方式都是各不相同的,而且摆放的位置都是不一样的. 如何同一数据格式,和如何 ...

  5. Django项目中出现的错误及解决办法(ValueError: Dependency on app with no migrations: customuser)

    写项目的时候遇到了类似的问题,其实就是没有生成迁移文件,执行一下数据库迁移命令就好了 ValueError: Dependency on app with no migrations: customu ...

  6. fft.ntt,生成函数,各种数和各种反演

    前置知识: 一,导数 倒数其实就是函数的斜率函数 设D[f(x)]表示f(x)的导数,则满足 $$1,D[f(x)]=\lim\limits_{\delta x->\infty}\frac{f( ...

  7. ASP.NET Core MVC 中的 Model 模型

    ASP.NET Core MVC 中的 Model 我们希望最终从 Student 数据库表中查询特定的学生详细信息并显示在网页上,如下所示. MVC 中的模型包含一组表示数据的类和管理该数据的逻辑. ...

  8. oracle--oracle18C DBCA建库(一)

    一,环境配置 克隆或者安装一台oracle18c 只需要安装软件即可 主机名 ip 角色 db_inique oracle18c 192.168.0.162 主 oracle oracle18c2 1 ...

  9. 分布式数据库缓存系统Apache Ignite

    Apache Ignite内存数据组织是高性能的.集成化的以及分布式的内存平台,他可以实时地在大数据集中执行事务和计算,和传统的基于磁盘或者闪存的技术相比,性能有数量级的提升. 将数据存储在缓存中能够 ...

  10. [Powershell]使用Msbuild构建基于.NET Framework的WebAPI项目

    查找最高版本的MsBuildTools. 清理缓存垃圾. 还原NuGet包. 构建解决方案. 按项目发布程序到本地. 按项目ZIP打包. <# .NOTES ================== ...