首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python负数取余总结

余数存在正余数和负余数,要了解负余数,需要先了解取整原理 17 // 5 = 3 -17//5 = -4 17//-5 = -4 -17//-5 = 3 根据上述的4个公式,可以看出python的编译器是的取整符号位由被除数和除数同时决定,整数的数值是由向下取整的,即如果整数的符号位正,则取靠近0的数,如果整数是负数,则取远离0的数或者也可以这样理解:被除数和除数处于0的一边就往靠0的方向取整,如果是处于0的两边就往远离0的方向取整。 了解了取整原理后,再理解取余就比较简单了 17%5 = 2 这个没什么好解释,大家都了解的 -17%5= 3 该等式的被除数和除数处于0的两边,那必然是往远离0的方向取余数,2+3 = 5按照公式5 的正余数是2,那2所对应的负余数是3,余数符号位与被除数保持一致,为3 17%-5 = -3 同上例,因为被除数的符号为负,所以余数为-3 -17%-5 = -2,被除数与除数是在同一边,则往0靠,所以余数为整余数2,因为被除数的符号为负, 所以余数为-2

01

十进制小数如何转换为二进制小数[通俗易懂]

首先,最高位是符号位,正数是0,负数是1;小数部分乘以2,然后取整数部分,,剩余小数部分继续乘以2,取整数部分,……直到小数部分为0。 以+0.125为例: +数,最高位为0; 小数部分0.125×2=0.25,取0; 再取小数部分0.25×2=0.5,取0; 再取小数部分0.5×2=1.0,取1; 这时小数部分是0,结束。然后取得数从前往后顺着数,为001。则+0.125的二进制数为:0001。 同理,-0.125的二进制为1001。只是符号位变了,小数计算方式一样。 需要注意的是,有的十进制小数转换为二进制是无限的,不是你算错了,不要纠结。 以0.65为例: 0.65×2=1.3,取1; 0.3×2=0.6,取0; 0.6×2=1.2,取1; 0.2×2=0.4,取0; 0.4×2=0.8,取0; 0.8×2=1.6,取1; 0.6×2=1.2,取1; …… 此时已经陷入了循环,不必再计算,0.65的二进制就是01010011……,有的计算中并不要求有符号位,可省略,为1010011……

03
领券