
24-09-2005, 00:14
|
|
|
|
חבר מתאריך: 10.03.04
הודעות: 105
|
|
|
המממ
אתה שואל שאלה טובה.
בגדול, ההבדל בין משתנה מסומן למשתנה לא מסומן (מאותו הסוג) הוא שהטווח של המשתנה המסומן מצומצם יותר (מבחינת המרחק מהאפס), אבל יכול להיות שלילי. זה קורה משום שהביט הראשון "נתפס" לצורך הסימון, כלומר, אומר בעצם האם המספר הוא חיובי הוא שלילי. שאר הביטים הם הערך, שכאמור כיוונו מהאפס נקבע לפי ביט הסימון.
אם עובדים עם משתנה 16 unsigned char (סתם דוגמא), אז המספר (הערך) יכול לנוע בין 0 ל-255. (סה"כ 2 בחזקת 8 - 256 - ערכים אפשריים). אז, כמובן, אין ביט סימן.
אם עובדים עם משתנה 16 signed char, אז המספר יכול לנוע בין -128 ל-127. הביט הראשון יאמר האם מדובר במספר חיובי או שלילי (אם תשים לב, עכשיו ישנם 2 בחזקת 7 - 128 - ערכים אפשריים, מכיוון שביט הסימון תפוס).
|