![](/img/trans.png)
[英]How to implement C-like unsigned int 32 in Python with no external dependencies?
[英]How to easily implement C-like modulo (remainder) operation in python 2.7
負數的模運算符%
在python和C中以不同的方式實現。在C中: -4 % 3 = -1
,而在python中: -4 % 3 = 2
。
我知道如何在C中實現類似python的模。我想知道如何做到相反,也就是:在python中輕松實現類似C的模。
輕松地在python中實現類似C的模。
由於當整數被除時,C會向零截斷,因此余數的符號始終是第一個操作數的符號。 有幾種方法可以實現它; 選擇您喜歡的一個: def mod(a, b): return abs(a)%abs(b)*(1,-1)[a<0] def mod(a, b): return abs(a)%abs(b)*(1-2*(a<0))
如果結果為負,只需將modul加到結果中:
int mymod(int a, int b) {
int res = a % b;
if (res < 0)
res += b;
return res;
}
編輯:反之亦然:
def mymod(a, b):
res = a % b
if (a < 0):
res -= b
return res
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.