Adakah alasan, historis atau tidak, mengapa operator modulus adalah bagian dari sekumpulan kecil operator standar dalam apa yang tampak seperti banyak bahasa? ( +, -, *, /
dan %
, untuk Java dan C, dengan **
di Ruby dan Python).
Tampaknya aneh untuk memasukkan mod sebagai "fundamental" (bukan untuk mengetuknya, saya banyak menggunakannya, tetapi saya juga menggunakan eksponensial, nilai absolut, lantai / langit-langit atau lainnya - mereka tampaknya sama berguna dan perlu). Apakah ini keputusan lama yang dibuat dalam beberapa spesifikasi yang diikuti oleh Java, C, Ruby dan Python atau bahasa tempat mereka semua berasal? Sejauh yang saya tahu sebagian besar dialek Lisp hanya menyertakan +, -, /
dan *
.
Pada awalnya saya bertanya-tanya apakah mod sangat mudah diimplementasikan pada tingkat biner (apakah itu akan membuat perbedaan, mengenai keputusan tentang apa yang seharusnya menjadi operator "fundamental" dan apa yang tidak boleh?) Tetapi tampaknya tidak. Apakah ini jauh lebih umum digunakan dalam pemrograman daripada yang saya kira?