python中36-5为什么等于-1?

而//是整除,对于python语言//是向下取整,即向负无穷大方向取整,结果是不大于商的最大整数。36除以-5的商是-7.2,不大于-7.2的最大整数是-8,所以36//-5等于-8。所以36%-5=36-(36//-5)*(-5)=36-(-8)*(-5)=36-40=-4。
python中36-5为什么等于-1?
36%-5根本就不等于-1,36%-5等于-4好吧?
下图是验证:

为什么36%-5等于-4?
因为%是求余数,余数=被除数-被除数//除数*除数。
而//是整除,对于python语言//是向下取整,即向负无穷大方向取整,结果是不大于商的最大整数。
36除以-5的商是-7.2,不大于-7.2的最大整数是-8,所以36//-5等于-8。
所以36%-5=36-(36//-5)*(-5)=36-(-8)*(-5)=36-40=-4。
2020-10-16
python中36%-5等于-4吧
36/-5=-7......1或-8......-4
由于python语言对运算符的编译(由python开发者决定的),在计算机内存中,python的 “//”运算符,除不尽的会向前移位,比方说:如果结果是5.1,就会返回5,如果是 -5.1,就会编译成 -6,然后返回给你。
python 中36//-5返回的是-8
所以36%-5取商为-8时的余数
补充
自然数取余定义分为两种:
1)定义1:如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足a=qd+r且0 ≤ r < d(其中q为商,r为余数)。定义1一般作为数学中的取余法则,即两个数取余,余数总是为正数。举例:5%3=3x1+2,商为1,余数为2(-5)%(-3)=(-3)x2+1,商为2,余数为15%(-3)=(-3)x(-1)+2,商为-1,余数为2(-5)%3=3x(-2)+1,商为-2,余数为12)
定义2:如果a 与d 是整数,d 非零,那么余数 r 满足这样的关系:a = qd + r , q 为整数,且0 ≤ |r| < |d|。定义2取余的结果就会导致出现两个余数了,比如5%(-3) = (-3)x(-1)+2 = (-3)x(-2)-1,所以这里的余数2和-1都满足定义。我们把2称为正余数,-1成为负余数。通常,当除以d 时,如果正余数为r1,负余数为r2,那么有r1 = r2 + d。所有语言和计算器都遵循了尽量让商尽量靠近0的原则,即5%(-3) 的结果为2而不是-1,(-5)%3的结果是-2而不是1。
2020-10-17
36%-5
结果是-4

2020-10-16
百度“编程语言中负数取余的问题”2020-10-16
mengvlog 阅读 338 次 更新于 2025-09-11 01:46:43 我来答关注问题0
  •  猪八戒网 python等级考试一级多少分算高分

    计算机等级考试的合格分数是多少?60分。考试实行百分制计分,但以等第通知考生成绩。等第共分优秀、良好、及格、不及格四等。90-100分为优秀、80-89分为良好、60-79分为及格、0-59分为不及格。成绩在及格以上者,由教育部考试中心颁发合格证书。成绩优秀者,合格证书上会注明优秀字样;成绩良好的...

  •  文暄生活科普 写好Python不得不知的90条建议,必读!

    详见 Python 中的《Python之禅》,它体现了 Python 的设计哲学和最佳实践。建议2:编写 Pythonic 代码 避免不规范代码,如仅用大小写区分变量、使用易混淆的变量名等。深入学习 Python 语言和库特性,如 Python 演变过程,并学习业内公认的 Pythonic 代码库,如 Flask。建议3:理解 Python 与 C 的不...

  •  深空见闻 windows下如何使用带提示符的python解释器

    在Python解释器提示符下,可以输入Python代码并执行。例如,输入print('hello')(注意Python 3的语法要求使用括号),然后按回车键。将看到输出hello,表示代码已成功执行。5. 退出Python解释器:要退出Python解释器,可以按Ctrl + Z键(在Windows中),然后按回车键。这将显示一个确认退出的提示,按回车键...

  • Python的大版本分为python2和python3,这两者区别特性较大。通常官方的最新版本并非业内产品中的主流版本,现在业内要用Python2就是Python2.6居多,如果是Python3,一般是Python3.5。如何从Python3.4升级到Python3.51、首先我们要确定一下我们当前操作系统中的Python版本.我们在Ubuntu中使用Ctrl+Alt+T?...

  •  天天教育ds 与六进制数(35)6相等的是

    1、计算机内存管理:在计算机内存中,地址通常以十六进制表示。这是因为十六进制有足够的符号来表示所有可能的地址。例如,一个字节可以表示十六个不同的值,这使得十六进制成为内存管理的理想选择。2、计算机程序代码:在许多计算机程序语言中,如C++、Java和Python等,变量和函数名通常以十六进制表示。这是...

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部