Java中的相除(/)和取余(%)的实现方法

作者:CWyh44 时间:2022-08-27 21:18:02 

取模运算与取余运算两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。

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

1、求 整数商 c = a / b;

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

取模运算和取余运算在第一步不同:

取余运算在取c值时,向0方向舍入;而取模运算在取c值时,是向负无穷方向舍入

各个环境下运算符%的含义不同,C/C++,Java为取余,python为取模

Java取余运算规则如下:

a%b = a - (a/b)*b

让我们先看一段代码:


public class Division_remainder {
 public static void main(String[] args) {
   int a = 13 / 5;
   int b = 13 % 5;
   int c = 5 / 13;
   int d = 5 % 13;
   int e = 13 / -5;
   int f = -13 / 5;
   int h = -13 % 5;
   int j = 13 % -5;
   System.out.println(a + "," + b);
   System.out.println(c + "," + d);
   System.out.println(e + "," + f);
   System.out.println(h + "," + j);
 }

结果为:

2,3
0,5
-2,-2
-3,3

再来一个一个分析:

a = 13 / 5,a = 2,其实就是数学上的13 / 5 ,结果为2。

b = 13 % 5,b = 3,这也是数学上的运算,得出余数为3。

c = 5 / 13,c = 0,因为被除数小于除数,结果可以看成0.x,但是int类型是整数类型,所以结果只为0。

d = 5 % 13,d = 5,数学上规定:如果被除数比除数小,商是0,余数就是被除数本身。

e和f不用说了,结果都为-2。

但是h和j怎么是一个-3一个3呢,因为取余运算的符号是根据第一个运算数决定的,-13 % 5结果是-3,而13 % -5结果则是3。

来源:https://blog.csdn.net/sinat_41152339/article/details/81054379

标签:Java,相除,取余
0
投稿

猜你喜欢

  • clion最新激活码+汉化的步骤详解(亲测可用激活到2089)

    2023-07-17 08:03:53
  • java面试常见模式问题---单例模式

    2022-11-29 09:12:28
  • C#缓存之SqlCacheDependency用法实例总结

    2023-04-14 10:31:37
  • C#编程调用Cards.dll实现图形化发牌功能示例

    2022-10-24 12:02:54
  • Unity3D撤回命令开发详解

    2022-01-15 09:26:21
  • SpringBoot过滤器的使用

    2023-08-28 21:28:56
  • Java经验点滴:类注释文档编写方法

    2023-11-06 03:50:11
  • JVM类加载,垃圾回收

    2022-08-16 02:44:36
  • JavaBean和SpringBean的区别及创建SpringBean方式

    2022-05-23 03:32:14
  • Android高仿京东垂直循环滚动新闻栏

    2022-01-05 12:15:41
  • Java 接口和抽象类的区别详解

    2021-07-26 13:30:21
  • c#实现一元二次方程求解器示例分享

    2023-01-03 21:15:30
  • Java设计模式之java命令模式详解

    2023-11-13 16:00:36
  • java静态工具类注入service出现NullPointerException异常处理

    2021-11-28 09:59:11
  • 深入理解java自旋锁

    2023-10-28 00:32:49
  • 基于C#实现一个简单的FTP操作工具

    2023-05-12 11:50:58
  • Java Web实现文件下载和乱码处理方法

    2022-03-14 20:28:38
  • struts2实现多文件上传的示例代码

    2022-03-09 23:40:54
  • Java 爬虫服务器被屏蔽的解决方案

    2022-11-06 13:23:46
  • Java使用Tesseract-Ocr识别数字

    2022-12-30 05:15:44
  • asp之家 软件编程 m.aspxhome.com