@דוד ל.ט.
הוא מתייחס לאוסף המפרים המוגבל כמעגלי. הראשון הוא הבא בתור אחרי האחרון ולהפך.
לפי זה המקסימום +1 זה אפס ולא 1. ו-1 זה המקסימום.
למה זה כך?
@דוד ל.ט.
ובקשר לVB אתה טועה, הוא סבור בדיוק כמו C#, לפחות אצלי.
אם אני מגדיר בVB שלא יבדוק גלישה אז הוא מתנהג כמו C#
אבל אני כן רוצה שהוא יבדוק גלישה! זה מונע הרבה שגיאות.
בכל אופן המסקנה שאני הגעתי אליה היא זו:
Dim num2 As UShort = BitConverter.ToUInt16(BitConverter.GetBytes(code1.Value), 0)
כשעושים כך אין שגיאות גלישה והתוצאה ממש כמו ב C#
מה שרואים כאן זה שלפני שממירים ל ushort צריך להמיר את המספר השלילי לביתים ואת הביתים ל ushort ואז ברור שלא תהיה גלישה. וזה מה שC# עושה באופן אוטומטי.
ואני חושב אם תתבונן בנושא הסיביות (כשעושים להם shift) תראה שהמסקנה שלך ושלי עולות בקנה אחד.
פורסם במקור בפורום CODE613 ב09/03/2014 22:12 (+02:00)