Dưới đây là some code in C++. Nếu bạn thử một cái gì đó như -2%5
trong python kết quả là dương 3 trong khi nhiều ngôn ngữ khác như C++ C# (code) và flash cho -2Modulus hoạt động như thế nào và tại sao nó lại khác với Python so với hầu hết các ngôn ngữ?
Tại sao chúng cho -2 và là một phiên bản chính xác hơn?
#include <cstdio>
int main(){
printf("%d\n", 2%5);
printf("%d\n", -2%5);
printf("%d\n", -2%77);
printf("%d\n", 2%-77);
printf("%d\n", -2%-77);
}
Output:
2
-2
-2
2
-2
Nó thực hiện theo quy định tại C++ 98 (và C-90). Nó được xác định rõ trong C++ 11 (và C-99): Dấu hiệu của kết quả của toán tử modulus giống như dấu hiệu của cổ tức. Trong Python, kết quả có cùng dấu hiệu với ước số. Cách nào để giải thích mọi thứ là một chút của một đồng xu quăng.Điều có ý nghĩa nhất đối với tôi là các ngôn ngữ cung cấp cả hai cách triển khai, do đó tôi là lập trình viên có thể chọn một ngôn ngữ có ý nghĩa hơn trong một số ngữ cảnh cụ thể. –