java取模_Java 中的取模和取余
期末复习密码学时需要用到取模运算,发现 Java 中的 % 运算符并不是取模运算(Modulo Operation),而是取余运算(Complementation)。
计算方法
对于整数 \(a\),\(b\) 来说,取模运算和取余运算的过程相同:
求整数商:\(c = a / b\)
计算模或者余数:\(r = a - c \times b\)
只是取模和取余在第一步求商的方法上有所不同:取余运算在取 \(c\) 的值时,向 \(0\) 方向舍入( fix() 函数);而取模运算在计算 \(c\) 的值时,向负无穷方向舍入( floor() 函数)。
Java 示例
Java 中的取余运算是 %,而取模运算是 Math.floorMod()。
System.out.println("------Complementation------");
System.out.println(7 % 4);
System.out.println((-7) % 4);
System.out.println(7 % (-4));
System.out.println((-7) % (-4));
System.out.println();
System.out.println("------Modulo Operation------");
System.out.println(Math.floorMod(7, 4));
System.out.println(Math.floorMod(-7, 4));
System.out.println(Math.floorMod(7, -4));
System.out.println(Math.floorMod(-7, -4));
输出结果:
------Complementation------
3
-3
3
-3
------Modulo Operation------
3
1
-1
-3
从运行结果可以看出:取模运算结果的符号和 \(b\) 一致,取余运算结果的符号和 \(a\) 一致。
注:C 和 C++ 中的 % 也为取余,Python 中的 % 为取模。
java取模_Java 中的取模和取余相关推荐
- java中的取模_Java 中的取模和取余
期末复习密码学时需要用到取模运算,发现 Java 中的 % 运算符并不是取模运算(Modulo Operation),而是取余运算(Complementation). 计算方法 对于整数 a,b 来说 ...
- java int范围_Java之int及它的取值范围
int是Java中的8种基本类型之一,一个int值占4个byte(8个二进制位) 8中基本类型所占字节分别是多少: int4个字节 2个字节 long字节 2个字节 float4个字节 double8 ...
- java mod %区别_Java中 % 与Math.floorMod() 区别详解
%为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...
- java 数据类型分为_JAVA中分为基本数据类型及引用数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...
- java同步队列_Java 中队列同步器 AQS(AbstractQueuedSynchronizer)实现原理
前言 在 Java 中通过锁来控制多个线程对共享资源的访问,使用 Java 编程语言开发的朋友都知道,可以通过 synchronized 关键字来实现锁的功能,它可以隐式的获取锁,也就是说我们使用该关 ...
- java list对象_JAVA中list
Java 查找 List 中的最大值.最小值 Java 查找 List 中的最大值.最小值 java> List list = new ArrayList(); java.util.List l ...
- java 闭区间随机数_Java中在特定区间产生随机数
生成指定范围内的随机数 这个是最常用的技术之一.程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数字的测试用例.问题往往类似于: 如何随机生成 1~100 ...
- 猫眼电影票房爬取到MySQL中_爬虫之爬取猫眼电影专业版实时数据排行榜
猫眼电影专业版实时数据排行榜是个持续更新的用ajax写成的网站,一般而言,爬取它比较麻烦,需要使用ajax/js进行爬取,python中的requests库可以获取网站的ajax,再通过json库解析 ...
- java的指数函数_Java中常用的数学函数
话不多说,上代码 三角函数方法 Math.PI 圆周率的近似值 Math.E 算术常量e的值(近似于2.71828) Math.sin(radians) 返回角度的三角正弦函数值(以弧度为单位) Ma ...
最新文章
- win使用linux共享打印机,Ubuntu 12.04以及 Window 下使用共享打印机
- ​HOG特征也可以作为图像重建的目标!FAIRJHU提出新的one-stage自监督预训练模型MaskFeat!...
- Filter获取Spring Bean对象
- Web Api 基于Zookeeper的服务注册与发现
- ajxs跨域 php_PHP Ajax 跨域问题最佳解决方案
- 一主多备几影响 oracle,Oracle 10g 一主多备的搭建技巧
- OpenCV-Python实战(11)——OpenCV轮廓检测相关应用
- [一定要看完]住在隔壁的刚毕业的大学生小夫妻
- MSN 通信协议学习笔记(转)
- 新闻发布系统类图_信息系统项目管理师快速记忆口诀
- Robot Framework自动化测试用具 Wait Until Keyword Succeeds关键字使用案例
- cheng-06、初始化失败_Destroying singletons报错问题
- java求一批数据的最大值、最小值、以及掐头去尾之后的平均值。
- 轻量级过程改进之需求管理
- 一款仿 macOS 的开源操作系统
- ADC 学习笔记(二)指标参数总结
- CSS定位(position))之sticky 定位
- 简单脉搏波波形分析系统设计与实现
- 计算极限的时候,什么情况下可以用等价无穷小替换
- zoom 用户被锁定_深入研究针对Zoom用户的重新打包的APK