ABA


"שאלה לגבי Signed and UnSigned"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15214 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15214
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   10:31   05.03.09   
אל הפורום  
  שאלה לגבי Signed and UnSigned  
 
   התחלתי ללמוד אסמבלי ומשהו לא ברור לי לגבי Signed ו UnSigned.
רשום שהמספר האקסדסימלי-
0FFFFh is negative.
0FFFh is positive
למה?
בשניהם הH.O הוא 1. זה לא אמור להיות בשניהם שלילי?


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  איפה רשום את זה? והמספרים בהקסא שרשמת הם לא זהים.. Nesher  05.03.09 16:24 1
     אני יודע שהם לא זהים XD ronen333  05.03.09 16:32 2
  תשובה TTAsnn 05.03.09 17:56 3
     תודה על התשובה אחי, כנס ronen333  05.03.09 18:27 5
         בדיוק, הקאטץ זה לזכור שאתה *חייב* לכתוב 16 ספרות בינאריות. TTAsnn 06.03.09 11:40 13
  האמת שאני לא מזדהה עם צורת הכתיבה. Deuce  05.03.09 18:04 4
     זה בדיוק מה שעשיתי ronen333  05.03.09 18:35 6
         בכיף אז זה באמת עניין של הקצאת מקום. Deuce  05.03.09 19:05 7
  הסברתי לך על זה פעם, כבר שכחת ? :) Limp Bizkit 06.03.09 01:08 8
     הסברת לי פעם על בינארי על האקס דילגנו =] ronen333  06.03.09 02:01 9
  שאלה ronen333  06.03.09 09:15 10
     הפכו כל ביט DOWNTOWN 06.03.09 09:33 11
         אני יודע את האלגוריתם ללהפוך מספר לשלילי ronen333  06.03.09 11:34 12
         סתכל בתגובה 14, מה שאתה אמרת זה המשלים ל 1, קרוב אבל לא מדוייק. TTAsnn 06.03.09 11:49 15
     תשובה TTAsnn 06.03.09 11:49 14
         סבבה אחי תודה רבה D= ronen333  06.03.09 13:13 16
     זה נקרא משלים ל-1 ויש בו מספר חסרונות. Deuce  06.03.09 15:03 17
  שאלה נוספת :) ronen333  06.03.09 19:46 18
     אתה חייב להבין משהו Limp Bizkit 06.03.09 20:04 19
         אבל הרעיון של הזזה ימינה היא חילוק ב2 בחזקת N לא? =/ ronen333  06.03.09 22:38 20
  בקשה ronen333  07.03.09 16:42 21
     טריק קטן Limp Bizkit 07.03.09 17:50 22
         תודה תום, יא מלך D= ronen333  07.03.09 17:54 23

       
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   16:24   05.03.09   
אל הפורום  
  1. איפה רשום את זה? והמספרים בהקסא שרשמת הם לא זהים..  
בתגובה להודעה מספר 0
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   16:32   05.03.09   
אל הפורום  
  2. אני יודע שהם לא זהים XD  
בתגובה להודעה מספר 1
 
   אני רוצה לדעת למה השני חיובי אם הH.O שלו הוא בדיוק כמו של הראשון.
וזה מהספר ART OF ASSEMBLY שלירן המלך המליץ לי =].


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TTAsnn

   17:56   05.03.09   
אל הפורום  
  3. תשובה  
בתגובה להודעה מספר 0
 
   אני לא יודע מה זה h.o אבל אני מניח שאתה מתכוון ל most significant bit, בכל מקרה, התשובה היא לא, הם לא אותו דבר.
כפי שזה נראה, אתה מדבר על מספר שמיוצג על ידי מילה, (בטח אתה עובד עם 16bit assembly אני באמת לא זוכר כבר מה עושים בספר הזה, אבל בטח אתה משתמש לדוגמא עם האוגר ax?)
בכל מקרה, המספר מיוצג ב 2 בתים, ולכן המספר הראשון הוא בעצם:
FFFF והשני הוא 0FFF שים לב ל0 ש"מוכנס אוטומטית".

או בקיצור, הספרה הכי שמאלית היא זו שאחרית על הסימן (יש מימושים שונים אבל סביר שאצלך היא האחראית על הסימן ושווה ל -2^16) אצלך, הספרה הכי שמאלית היא 0, בעוד בראשון היא ל 0, כי הגודל המקסימלי שיכול להיות מוכל הוא FFFF, אתה לא יכול להסתכל עליהם בתור מספרים נטו, אלא אתה צריך לראות לאן הם יכנסו.

מקווה שהסברתי כמו שצריך.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   18:27   05.03.09   
אל הפורום  
  5. תודה על התשובה אחי, כנס  
בתגובה להודעה מספר 3
 
   ערכתי לאחרונה בתאריך 05.03.09 בשעה 18:33 בברכה, ronen333
 
כן מדובר על 16 ביט. והאוגר אין לי מושג.. אני ממש בהתחלה והם רק מסבירים מה זה כל דבר. ועל האקסים היה חסר לי.

H.O זה HIGH ORDER, אכן הספרה הכי שמאלית.
בספר רשום שעל מנת להמיר מספר האקס לבינארי יש פשוט להקצות לכל תו 4 סביות של היצוג בבינארי. לכן ככה עשיתי..

אז בעצם ביגלל שזה 16 סביות ה0000 במספר הראשון יוצאים מהטווח ובשני לא?
אז בראשון יוצא 1111 1111 1111 1111
ובשני זה 1111 1111 1111 0000
?

תודה רבה אחי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TTAsnn

   11:40   06.03.09   
אל הפורום  
  13. בדיוק, הקאטץ זה לזכור שאתה *חייב* לכתוב 16 ספרות בינאריות.  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   18:04   05.03.09   
אל הפורום  
  4. האמת שאני לא מזדהה עם צורת הכתיבה.  
בתגובה להודעה מספר 0
 
ערכתי לאחרונה בתאריך 05.03.09 בשעה 18:30 בברכה, Deuce
 
עריכה:
אתה צריך לציין כמה בתים אתה מקצה לזה מראש, זה ממש משנה את כל התמונה חח ... כי במקום אחד ה-0 תפקידו אחד ובמקום אחר התפקיד שלו הוא אחר.

מה שאתה כן צריך לעשות, זה פשוט להפוך את זה לבינארי ולהסתכל על הספרה הכי שמאלית. אני לא אוהב את הגישה שלהם, ואתה צריך להבין מה זה אומר בידיוק 0F.
מבחינתי אני יודע שה-0 בהתחלה מוסיפים אותה לפעמים בהקסא מתי שהאות הראשונה היא לא ספרה וה-h האחרונה מייצגת את הבסיס.
ההמרה היא כמובן אם כן:
15 = 1111 ולכן:
המספרים שנתת הם
1111111111111111
111111111111
ואם מתייחסים לביט אז שניהם שליליים ...

אז או שהספר טועה או שיש ניאונסים עם ההגדרות של ההקסא.
בכל אופן זה טיפשי כי בסופו של דבר מסתכלים על ה-carry בבסיס2 ולא בבסיס הקסאדצימלי.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   18:35   05.03.09   
אל הפורום  
  6. זה בדיוק מה שעשיתי  
בתגובה להודעה מספר 4
 
   אבל כנראה הבעיה שלי היתה זה שלא זכרתי שזה אמור להיות רק על 16 ביט. ואז בראשון ה0 לא נחשב ובשני הוא כן.

תודה בכל מקרה על העזרה אייל =]


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   19:05   05.03.09   
אל הפורום  
  7. בכיף אז זה באמת עניין של הקצאת מקום.  
בתגובה להודעה מספר 6
 
אם יש מספיק בתים אז זה יהיה כמובן תקין לחלוטין.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   01:08   06.03.09   
אל הפורום  
  8. הסברתי לך על זה פעם, כבר שכחת ? :)  
בתגובה להודעה מספר 0
 
  

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   02:01   06.03.09   
אל הפורום  
  9. הסברת לי פעם על בינארי על האקס דילגנו =]  
בתגובה להודעה מספר 8
 
   איפה נעלמת אחי? אני לא רואה אותך יותר..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   09:15   06.03.09   
אל הפורום  
  10. שאלה  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 06.03.09 בשעה 09:16 בברכה, ronen333
 
רשום שהמספר הבינארי הזה 1011 1111 הוא הנגדי ל0101 0000
למה? X= רשום משהו עם משלים אבל לא נותנים דוגמה או משהו ככה שלא ממש הבנתי איך בדיוק הגיעו להשלמה הזאת..
איך אני יודע שזה להגיע למינוס 5 הזה ואיך אני יודע אם אני אמור להסתכל על זה כמספר בינארי רגיל (שבו אני אמור לחשב את 2 בחזקת N) או שזה מספר שלילי? רק לפי הספרה השמאלית ביותר? בחיים לא יהיה מספר שהוא 1111 1111 לא שלילי נגיד? =/


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DOWNTOWN
חבר מתאריך 28.5.02
5388 הודעות
   09:33   06.03.09   
אל הפורום  
  11. הפכו כל ביט  
בתגובה להודעה מספר 10
 
   פעולת NOT
0 הפך ל1
ו1 הפך ל0


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   11:34   06.03.09   
אל הפורום  
  12. אני יודע את האלגוריתם ללהפוך מספר לשלילי  
בתגובה להודעה מספר 11
 
   ערכתי לאחרונה בתאריך 06.03.09 בשעה 11:35 בברכה, ronen333
 
אני רוצה להבין איך אני יודע לקרוא את המספר השלילי...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TTAsnn

   11:49   06.03.09   
אל הפורום  
  15. סתכל בתגובה 14, מה שאתה אמרת זה המשלים ל 1, קרוב אבל לא מדוייק.  
בתגובה להודעה מספר 11
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TTAsnn

   11:49   06.03.09   
אל הפורום  
  14. תשובה  
בתגובה להודעה מספר 10
 
   כמו שאמרתי לך קודם, זה הכל תלוי בשיטת ייצוג שיש במחשב שלך, בגלל שאתה עובד ב art of assembly אז מדובר על x86 והשיטה לייצוג שליליים היא שיטת המשלים ל 2, כלומר, כל מספר מיוצג כמספר שלילי ע"י המשלים שלו ל 2 (גם כאן תזכור את גודל הזכרון שאתה מתעסק בו!)
דרך קלה לחישוב המשלים ל 2, להתחיל מימין המספר (הספרה הכי פחות חשובה) ולעבור ביט ביט, אם הוא 0, להמשיך, עד שמגיעים לביט שהוא 1, ממשיכים אחד הלאה ומעכשיו הופכים כל ביט, 0 ל 1 ו 1 ל 0, לדוגמא, נגיד שאנחנו מדברים על מספר ב 4 ביט:
0110 אז בשיטה המדוברת המספר השלילי המתאים הוא:
1010 מבין?

דוגמא:
הרי המספר הראשון הוא 2+4=6 והמספר השני הוא -8+2=-6 ואתה רואה שבדוגמא הזו זה נכון. (זה מן הסתם נכון תמיד)

בקיצור תזכור שאתה מסתכל על הזכרון שלך וזה תלוי איפה אתה מאכסן, כי ב 8 ביט המספר הזה: 11111111 שלילי וב16 ביט הוא חיובי ובעל ערך שונה לגמרי.

בכל מקרה הנה עוד קצת מידע על המשלים ל 2:
http://en.wikipedia.org/wiki/Two's_complement


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   13:13   06.03.09   
אל הפורום  
  16. סבבה אחי תודה רבה D=  
בתגובה להודעה מספר 14
 
   אז כל מה שאני צריך זה לחבר רגיל עד הביט השמאלי ביותר. ולחסר ממנו את הביט השמאלי ביותר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   15:03   06.03.09   
אל הפורום  
  17. זה נקרא משלים ל-1 ויש בו מספר חסרונות.  
בתגובה להודעה מספר 10
 
נסה לחשוב למה וקרא על משלים 2.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   19:46   06.03.09   
אל הפורום  
  18. שאלה נוספת :)  
בתגובה להודעה מספר 0
 
   בHIGH LEVEL שמחלקים INTGER שהוא -1 ב2 הוא מחזיר 0. כי חצי מתעגל כלפי מטה.

ובספר רשום-
"if you apply the arithmetic shift right operation on -1 (0FFh), the result is -1, not zero."
למה? |=

תודה רבה רבה לכל האנשים שעוזרים אני מעריך את זה מאוד


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   20:04   06.03.09   
אל הפורום  
  19. אתה חייב להבין משהו  
בתגובה להודעה מספר 18
 
   ערכתי לאחרונה בתאריך 06.03.09 בשעה 20:05 בברכה, Limp Bizkit
 
ייצוג טיפוסים בשפת עלית נועדה להקל על המשתמש

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

וזה -1 כי
SHR FF נשאר FF

וזה 0 כי INTEGER לא יכול להכיל מספר לא שלם אז הוא מעגל את המספר מטה כדי שזה יתאים להגדרה של טיפוס "INTEGER"

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   22:38   06.03.09   
אל הפורום  
  20. אבל הרעיון של הזזה ימינה היא חילוק ב2 בחזקת N לא? =/  
בתגובה להודעה מספר 19
 
   ורק ב-1 זה לא פועל.. למה? איפה ההגיון פה? למה למען השם פיתחו את שפת המכונה בצורה כל כך לא חכמה?!
מה שאני צריך לזכור בשורה התחתונה זה שמינוס 1 זה יוצא דופן בSHR?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   16:42   07.03.09   
אל הפורום  
  21. בקשה  
בתגובה להודעה מספר 0
 
   מישהו בבקשה יכול לתת לי את התוכנה שבאה יחד עם הספר ART OF ASSEMBLY? לא מצאתי אותה ויש כל מיני תירגולים שרשום בספר שמומלץ שאני אעשה..

תודה =].


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   17:50   07.03.09   
אל הפורום  
  22. טריק קטן  
בתגובה להודעה מספר 21
 
   ערכתי לאחרונה בתאריך 07.03.09 בשעה 17:51 בברכה, Limp Bizkit
 
חפש בגוגל
art of assembly intitle:"index of"

התוצאה הראשונה בחיפוש :
http://www.dcc.unicamp.br/~celio/mc404/Art_of_Assembly/


יש שם קובץ, AOA.ZIP

מכיל את כל הקבצים שצריך ממוין לפי פרקים + דוגמאות שמביאים שם

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   17:54   07.03.09   
אל הפורום  
  23. תודה תום, יא מלך D=  
בתגובה להודעה מספר 22
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net