首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解数学与编程中的模算子

理解数学与编程中的模算子
EN

Stack Overflow用户
提问于 2019-04-14 00:35:55
回答 1查看 1.6K关注 0票数 2

据我所知,在数学中,mod算子是欧氏除法剩余部分的结果。其中0≤r

然而,在编程中,有许多语言中的运算符,它们可以用来表示余数运算符或模运算符,它们在处理负值的方式上有所不同。

(我相信数学中的mod算子,编程中的剩余算子,以及编程中的mod算子,对于正数都有相同的结果)

根据Modulo operation with negative numbers

对于余数运算符,结果的符号与除数的符号相同,而对于模算子,结果的符号与除数相同。

所以编程中的mod运算符在数学上不是指mod运算符吗?

在编程中,答案的符号是mod算子和剩余算子之间的主要区别因素吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-14 00:54:25

从数学上讲,模数是群论的一部分,也是集合的思想。你可以用模数来生成集合中的所有数字。所以,如果你的集合是整数模10,你数0-9,然后从0开始。模下不存在负数的概念。

在编程中,剩余部分是在进行除法后剩下的部分。所以,如果你把3除以10,剩下的是0,剩下的是3。如果你把-3除以10,你得到的是-3的余数,而不是-1的余数7。但是数学模数是7。

那些设计我们现在使用的整数除法的人认为,将整数除以0更符合逻辑,而不是向负无穷远旋转,因此,由于必然的原因,负除法会导致负余数。

如果你想把一个余数转换成一个模数,你需要把你的模数加到任何负余数中,这样才能把它们映射到适当的范围。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55671058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档