רובנו תכנתנו בעבר בשפת C.
לכן כאשר עברנו לשפת C# סביר להניח שהנחנו שאנחנו מכירים את כל הפעולות האלמנטאריות על פרימיטיביים.
ההתנהגות באמת זהה ברוב האופרטורים, אלא שיש משהו שכנראה לא שמנו לב אליו:
אופרטור המודולו (%) עובד על floatים!
לדוגמה:
|
|
ההגדרה של מודולו (לa וb חיוביים) היא כהלן:
$ a \% b=\begin{cases} a & a<b\\ \left(a-b\right) \%b & a\ge b \end{cases} $כלומר הפעולה מחזירה לנו את האיבר הראשון שקטן מb וההפרש בינו לa הוא כפולה שלמה של b.
הדבר שימושי בעיקר לחישובים דברים מחזוריים, למשל חישוב סינוס של מספר – מאחר וסינוס פונקציה מחזורית עם מחזור $ 2 \pi $ אפשר לעשות משהו כזה:
|
|
זה מחשב את הסינוס גם כאשר הארגומנט הוא גדול מאוד.
סופ"ש צף טוב