Java取余操作时的符号问题[通俗易懂]

Java取余操作时的符号问题[通俗易懂]上课时只听老师说过,Java取余的操作的符号位是和被除数一致的,但不知道为啥例如:-14%3余数是-214%-3余数是2后来才知道,对余数的定义是 (a/b)*b+a%b恒等于a这样的话,-14/3*3的结果是-4*3=-12,所以余数是-2;14%3同理啦

大家好,又见面了,我是你们的朋友全栈君。

上课时只听老师说过,Java取余的操作的符号位是和被除数一致的,但不知道为啥

例如:

  • -14%3 余数是 -2
  • 14%-3 余数是 2
后来才知道,对余数的定义是  (a/b)*b + a%b 恒等于 a

这样的话,-14/3*3的结果是-4*3 = -12,所以余数是-2;
14%3同理啦

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140685.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RxJava 操作符flatmap

    RxJava 操作符flatmap有如下场景:在前段调用后端的API时,经常会出现回调嵌套的情况。假设我们有两个API,queryA和queryB.并且queryB的运行依赖于queryA的结果。那么我们的程序在一般的情况下可能是这个样子。想象有如下的代码:是不是感觉非常不舒服?假如嵌套的API再多几层,那么这将是个灾难。一个人开发的时候可能不觉得有什么问题,但是可以想象做codereview或者新入项目组的同事

    2022年6月4日
    41
  • 创建和使用逐帧动画

    创建和使用逐帧动画

    2022年1月1日
    38
  • 渗透测试流程包括_渗透测试包含哪些内容

    渗透测试流程包括_渗透测试包含哪些内容目录渗透测试步骤 步骤一:明确目标 步骤二:信息收集 步骤三:漏洞探索 步骤四:漏洞验证 步骤五:信息分析 步骤六:获取所需 步骤七:信息整理 步骤八:形成报告 #流程总结 面试补充说明渗透测试步骤渗透测试与入侵的区别:渗透测试:出于保护的目的,更全面的找出目标的安全隐患。入侵:不择手段的窃取或取得目标的最大权限并予以控制。(是具有破坏性的)步骤一:明确目标1、确定范围:规划测试目标的范围,以至于不会出现越界的情况。2、确定规则

    2025年6月15日
    0
  • Java拦截器步骤

    Java拦截器步骤拦截器是JavaWeb开发中必须用的技术,可以对整个系统字符集编码、URL访问权限过滤、过滤敏感词信息、session用户是否存在、日志记录等等,拦截器支队controller请求起作用,接下来小编讲解下spring框架中拦截器如何使用工具/原料myeclipsespring框架方法/步骤

    2022年5月28日
    37
  • python字符串与数字的转化_字符串转数字c语言

    python字符串与数字的转化_字符串转数字c语言数字转为字符串这个相对比较简单我们可以使用Python中的str函数直接转换例如将123转换为’123’print(str(123))或者使用格式化print(‘%s’%123)字符串转为数字这个相对比较复杂一点因为Python没有提供类似于str函数的int函数如果转换的是0-9的一个数,那么只采用字典就可实现defchar2num(s):…

    2022年10月12日
    0
  • (1)美团面试题:Hashmap的结构,1.7和1.8有哪些区别,史上最深入的分析「建议收藏」

    (一)真实面试题之:Hashmap的结构,1.7和1.8有哪些区别不同点:(1)JDK1.7用的是头插法,而JDK1.8及之后使用的都是尾插法,那么他们为什么要这样做呢?因为JDK1.7是用单链表进行的纵向延伸,当采用头插法就是能够提高插入的效率,但是也会容易出现逆序且环形链表死循环问题。但是在JDK1.8之后是因为加入了红黑树使用尾插法,能够避免出现逆序且链表死循环的问题。(2)扩…

    2022年4月9日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号