昨天被儿子问住了,带负数的除法,商和余数怎么算?

  • O
    OpEth
    比如,-30/7的商和余数分别是多少?-30/-7呢?
  • a
    aironline
    -4,-2,4,2
  • L
    Loading
    -30/7,商-4,余-2
    -30/-7=30/7吧

    不知道算的对不对,估计很快我也就会遇到类似的问题了
  • 魂影
    -4,-2
    4,-2
  • 1
    1234a
    符号|数字|单位
    三者单独计算再合并起来
  • T
    TG药丸
    2楼错了。4楼正解
  • O
    OpEth
    俺也觉得是-4,-2,但又不知道-5,5为什么不对?
  • r
    ringmoon
    余数不为负 -30/7=-5 余5
  • a
    amaterasu_gz
    直接按余数定义来就不就明白了?余数=|被除数-除数×商(向下取整)|(某些定义下余数带符号时定义为与除数一致)
    -30/7的余数=|-30-7*(-5)|=|-5|=5,-30/-7的余数=|-30-(-7*4)|=|-2|=2

    [本帖最后由 amaterasu_gz 于 2017-1-5 11:37 编辑]
  • O
    OpEth
    余数不为负数是定理吗?
  • i
    ioridx
    余数不能为负数

  • i
    ioridx
    余数是这么定义的:在算术中,当两个整数相除的结果不能以整数商表示时,余数便是其“余留下的量”.当余数为零时,被称为整除.所以一般是不为负数的,但是在特定的具体应用上也有得附属的情况.

  • l
    lvcha
    你数学有点太差了吧。
    顺便,数学就是公式推导,想结合实际生活意义不大。
  • O
    OpEth
    那么-30/7就应该是商-5余5?
  • L
    Loading
    编辑掉,和某楼上的重了
  • a
    amaterasu_gz
    余数源于模运算,表示的是相对于模(除数)的差值,是个标量而不是矢量,没有方向,所以没有正负概念,用绝对值表达。

    [本帖最后由 amaterasu_gz 于 2017-1-5 10:50 编辑]
  • O
    OpEth
    那为什么不是商-5余5?商乘以除数不是应该小于等于被除数么。。。。。

    本帖最后由 OpEth 于 2017-1-5 10:52 通过手机版编辑
  • r
    riva128
    答案, 两个软件算的一样,不存在余数不为负的说法

    [本帖最后由 riva128 于 2017-1-5 10:57 编辑]
  • h
    hkt3010
    这个问题有点意思,以前还从来没想过
  • i
    ioridx
    你把数字变的小点就知道了

    -4/3

    -2 和2

    -4=3*(-2)+2

  • a
    amaterasu_gz
    余5是对的,之前我写算式的时候疏忽了。
  • 田中健一
    负负得正,正负得负。
  • i
    ioridx
    余数我印象里符合2个条件就行了

    正数

    小于除数的绝对值

  • O
    OpEth
    -4/-3呢?商2余1?
  • h
    hourousha
    编程里,一般而言余数的符号和被除数相同。
  • O
    OpEth
    这啥软件?糊涂了,这贴里就好几种说法,喷了,按说这个问题应该在小学阶段就说清楚的。。。。。

    本帖最后由 OpEth 于 2017-1-5 11:05 通过手机版编辑
  • V
    Verhoffin
    余数什么时候变成矢量了???
  • a
    amaterasu_gz
    因为在教学的时候是在自然数(正整数)的前提下定义余数概念的。
  • a
    amaterasu_gz
    他使用的实际上是模运算而不是求余。

    最简单的验证就是开一个EXCEL写一条公式
    =mod(-30,7)

    模运算是带符号的,mod(-30,7)≠mod(30,-7),从编程上来说是不一样的。

    [本帖最后由 amaterasu_gz 于 2017-1-5 11:07 编辑]
  • i
    ioridx
    我也在纳闷,现在小学都知道什么叫矢量了???

  • i
    ioridx
    负负得正,按照 4/3算

  • 平井一夫
    为什么-30/7的商是-5,-30/-7的商就是4?4我可以理解,-5我不能理解
  • i
    ioridx
    4/3是1余1,2什么鬼
  • O
    OpEth
    对啊,这两个式子的商怎么不一样?只是除数的符号不同,商的绝对值应该相等才对。。。。。

    本帖最后由 OpEth 于 2017-1-5 11:13 通过手机版编辑
  • i
    ioridx
    因为-4的话余数也变成负的了

  • 平井一夫
    商为-5的时候,余数也是-5啊,只是加了绝对值符号后才变成的5
  • a
    amaterasu_gz
    MOD运算有方向。余数定义为向下取整(相对的也有向上取整)

    这里抄一下EXCEL的帮助:

    MOD(n, d) = n - d*INT(n/d)

    (-30/-7)=4.28...向下取整后是+4,而(-30/7)=-4.28...向下取整是-5

    [本帖最后由 amaterasu_gz 于 2017-1-5 11:33 编辑]
  • r
    riva128
    再来一图,求余跟求模是有区别,但是不是说余数不能为负
    mod是求模,rem是求余
  • m
    mike11
    这论坛完了。。。。。。。。。。。。。。。。。。。。。。。。。。。。用这么高级的东西 研究 那么简单的数学。。。。。。
  • i
    ioridx
    中老年论坛,越活越小

    要理解

  • j
    jxdq
    看了楼上的我也有点晕,记得小时候学的时候做除法,除不尽留下的就是余数,那按这个算就应该是2,4楼答案。但是看了上面的计算方式,难道是以前教的都是错误的?
  • a
    amaterasu_gz
    余数一般来说理解为一个“差值”(difference),没有符号,如果有的话,也是定义出来而不是运算出来的。
    英文wikiEXCEL中的直接定义:[本帖最后由 amaterasu_gz 于 2017-1-5 11:49 编辑]
  • 水星的爱
    瓶子,你这么想,除法就是把一样东西分成几份,然后乘下几份。你再想想?
  • a
    amaterasu_gz
    教学上的余数被定义在自然数大前提下运算,所以教学上来说并没有错也不会出错。涉及负数的余数运算实际上是模运算的范畴,对小学生要导入模的概念稍微有点困难。

    带方向的模运算,以时钟为例(模12)说明一下:
    mod(7,12)=7(12个刻度的表盘上顺时针拨7个刻度,一般意义上的顺时针表盘上的7点钟)
    mod(-7,12)=5(逆时针拨7个刻度,顺时针表盘的5点钟)
    mod(7,-12)=-5(顺时针拨7个刻度,但表盘刻度是逆时钟标刻的,所以是5点钟,为了与顺时针表盘区分,标注为-5点钟)
    mod(-7,-12)=-7(逆时针拨7个刻度,逆时针表盘的7点钟,为了与顺时针表盘区分,标注为-7点钟)

    需要注意的是,上述结果中,7=-5(7点和-5点的时针位置相同)

    [本帖最后由 amaterasu_gz 于 2017-1-5 12:23 编辑]
  • 加州IT男
    我以为小学只研究自然数,怎么还要研究负数乘除法了

    Wiki看完就明白了:

    自然数的余数
    如果a和d是两个自然数,d非0,可以证明存在两个唯一的整数q和r,满足a = qd + r 且0 ≤ r < d。其中,q被称为商, r被称为余数。带余除法是一个关于如何计算余数的算法,其中提供了对此结果的证明。
    例子
    13除以10,商为1,余数为3,13=1×10+3或13÷10=1…3。
    26除以4,商为6,余数为2,26=6×4+2或26÷4=6…2。
    56除以7,商为8,余数为0,56=8×7+0或56÷7=8。
    9除以10,商为0,余数为9,9=0×10+9或9÷10=0…9。(当被除数小于除数时,我们以被除数为余数。)

    一般整数的余数
    如果a 与d 是整数,d 非零,那么余数r 满足这样的关系:
    a = qd + r , q 为整数,且0 ≤ |r| < |d|。
    当这样定义时,可能导致两种可能的余数。例如,除法式子(−42) / (−5)的可以表达为
    −42 = 9×(−5) + 3(在数学工作者中使用较多)

    −42 = 8×(−5) + (−2).
    即余数可能是3或−2。
    这种对余数不明确的定义可能导致严重的计算问题,对于处理关键任务的系统,错误的选择会导致严重的后果。在一些组合语言系统中,会有特殊的除法指令,设定余数和被除数同号。
    在上面的例子,负余数为正余数减5得来,5即是除数d.通常,当除以d 时,如果正余数为r1,负余数为r2,那么
    r1 = r2 + d.
    Python语言定义的除法中,不能整除的情况下,余数与除数同号,例如 (−42) / (−5) 表达为
    −42 = 8×(−5) + (−2)
    而 (−42) / (5) 则表达为
    −42 = 9×(−5) + 3
  • 水星的爱
    因为除数本身不应为负数,如果你把这个问题放在自然数的环境里面考虑的话,你无法定义啊。
    余数可以是矢量,因为你被除的数字是矢量啊。
  • i
    ioridx
    有5个苹果,每2个一顿,一共吃2顿,还剩1个苹果

    欠别人5个苹果,每次还2个,一共还了3次,还剩1个苹果

    总不能是还了2次还欠1个苹果吧,什么叫余,就是剩余(多出来的)

  • O
    OpEth
    这个解释不错,小学生能听懂。。。。。

    不过除数为负的情况呢?主贴第二问

    本帖最后由 OpEth 于 2017-1-5 12:07 通过手机版编辑
  • t
    tanglee4950
    -35小于-30a
  • D
    DEXTER
    45L应该是正解了吧