数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 4579|回复: 2

请教负整数除以正整数的余数究竟是非负整数还是负整数?

[复制链接]
发表于 2023-1-28 14:52 | 显示全部楼层 |阅读模式
本帖最后由 lchydp 于 2023-1-28 14:48 编辑

大家好!比如:

按照这个说法,准确地说,余数应该是非负整数
但是用C语言计算却是-1:

请问究竟哪个是对的啊?非常感谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2023-1-29 17:10 | 显示全部楼层
按照数论中余数的定义,除数应该是正数,余数应该是非负的且小于除数。
既然是定义,在处理具体数学问题时,可以根据需要改变或拓展定义,只要理论逻辑能自洽。
至于C语言中的取余运算,实质上只是CPU整除运算指令的一个副产品,其运算规则很简单:
A % B = A-INT(A/B) * B
由于INT取整是不考虑符号的直接截短取整,所以会出现余数为负的情况,当初计算机
指令就这么设计的,没什么对错之说,只要程序员明白就行,想得到正余数,判断处理一下即可。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-2-4 13:10 | 显示全部楼层
tmduser 发表于 2023-1-29 17:10
按照数论中余数的定义,除数应该是正数,余数应该是非负的且小于除数。
既然是定义,在处理具体数学问题时 ...

非常感谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-6-25 20:16 , Processed in 0.096304 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表