当前位置:首页 » 编程软件 » 编译取商

编译取商

发布时间: 2023-08-13 01:15:53

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。

Ⅱ C语言咋能同时求商和余数

单纯从纯C语言的角度,不可能。唯一可能的就是除数是2的N次方,直接使用位运算。
C语言中没有这样的计算方式,而且这个冗余计算,对性能的影响太小了,目前的CPU都是每秒百万运算以上级别的,多一次整除运算,消耗的时间即使是百万级别的数据,也不会多出1秒。
如果单纯从优化角度考虑,可以使用内嵌汇编,通过一套整除运算从不同寄存器中取出商和余数,但实际上的消耗,也不是节省了50%,因为多占用了寄存器,并且多了一个传递。这样的方法虽然没有具体试验,但应该节省的非常有限,因为标准整数算法的优化不存在了,可能反而更耗时。
从代码量上看,系统提供函数itoa sprintf format等都可以一个语句完全实现数字转换字符串的功能,但实际上,这些函数的实现,也没有对整除取余进行优化。

Ⅲ C语言中76除以10=7,为什么不四舍五入得8

这不是巧携数学运算,在C语言里叫做整除运孝宽伏算,整除是舍弃余数的,而与整除巧渣配套的还有取余运算,运算结果就是余数了。

76/10 = 7
76%10 = 6

热点内容
如何初始化路由器密码 发布:2025-03-18 18:44:23 浏览:974
ftp返回码 发布:2025-03-18 18:39:12 浏览:978
存储程序员里 发布:2025-03-18 18:39:08 浏览:16
如何用appleipad玩安卓游戏 发布:2025-03-18 18:21:54 浏览:33
录像机怎么配置光纤 发布:2025-03-18 18:20:19 浏览:630
全球最长锁屏密码是多少 发布:2025-03-18 18:18:51 浏览:219
服务器错误是自己电脑的问题吗 发布:2025-03-18 18:07:12 浏览:923
android开发编译 发布:2025-03-18 18:07:11 浏览:740
安卓手机怎么下载长安通 发布:2025-03-18 18:07:10 浏览:179
oppo手机初始密码多少 发布:2025-03-18 17:56:54 浏览:214