Java

GLev

New member
Java

יש לי בעיה, יש לי את הפקודה הבאה ה JAVA : static final byte x = (byte) 0xFF עכשיו byte יכול להכיל ערך מקסימלי של 127 כמו שאני יודע, אז איזה ערך יהיה ב x ולמה ? אני לא עובד עם java לכן אני לא יכול לבדוק את זה, פשוט יש לי את זה בתוכנית שאני לומד ממנה, ו זה עניין אותי. תודה.
 

melatonin

New member
תשובה

בשתני signed, כאשר ה MSB דלוק יש לבצע את שיטת המשלים ל 2, שזה בהפשטה, לחסר את כמות המספרים שניתן לייצג, מהמספר עצמו. כלומר, במקרה שלך מדובר על 0x00ff - 0x0100, שזה למעשה 255-256, שהם 1-
 

GLev

New member
תודה, אם יש לך אתר שאני אוכל לקרוא

על זה יותר לעומק אשמח אם תביא לי קישור, אבל בעיקרון ענית לי על השאלה, תודה רבה...
 

melatonin

New member
לקרוא על מה?

ג'אווה? טווחי משתנים בג'אווה? פעולות על ביטים? משלים לשתיים?
 

GLev

New member
לקרוא על אופן הפעולה של מה שתיארת

לי בתשובה שלך, כלומר מה קורה אם הMSB לא דלוק, למה זה מחסר דווקא באופן שבו הוא מחסר, אני לא יודע איך הנושא הזה נקרא, אבל אני לא חושב שזה אחד מהנושאים שרשמת מקודם, אחרת הייתי כבר מחפש בגוגל... תודה שוב על העזרה.
 

melatonin

New member
בבקשה

נקרא שיטת המשלים לשתיים, שיטה לייצוג מספרים מסומנים בבסיס בינארי
 

GLev

New member
תודה, אבל אולי לפני שאתה נותן

לינקים תבדוק אותם... :) תודה בכל זאת, אני אמצא על הנושא.
 

melatonin

New member
סליחה?

לא יפה... נראה שמדובר בבאג של תפוז, שמחליף את הגרש ב %B4, והויקיפדיה מתבלבל, או משהו בקיצור, גלוש לכאן: http://en.wikipedia.org/wiki/Two's_complement
 
למעלה