ABA


"צריך עזרה קטנה ב-C, עבודה עם סיביות"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10302 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10302
ירוק-בנשמה
חבר מתאריך 22.4.02
1027 הודעות, דרג אמינות חבר זה
   18:39   08.03.11   
אל הפורום  
  צריך עזרה קטנה ב-C, עבודה עם סיביות  
 
   התוכנית שבקובץ המצורף קולטת מספר ומדפיסה אותו בבינארי
מה שלא מובן לי זה הלולאה.
הספירה מתחילה מ-16 ויורדת
לפי מה שהבנתי מהקוד זה : קח את המספר-> תוסיף לו I אפסים מימין, תבדוק אם הספרה היא אפס או אחד ותדפיס בהתאם.
עכשיו זה לא נראה לי הגיוני
מה שנראה לי יותר הגיוני זה פשוט להתחיל מ-0 וכל פעם לבדוק את הספרה האחרונה ע"י s.right

תודה

https://rotter.name/User_files/nor/4d765bc26d10837c.txt


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  מה זה s.right? DLN 08.03.11 21:57 1
     shift right הזזת הסיביות לימין..... ירוק-בנשמה 09.03.11 09:46 2
  למיטב הבנתי עידן_הכלי 09.03.11 14:43 3

       
DLN
חבר מתאריך 20.4.07
15884 הודעות, דרג אמינות חבר זה
   21:57   08.03.11   
אל הפורום  
  1. מה זה s.right?  
בתגובה להודעה מספר 0
 
   מה שהקוד הזה עושה זה עובר על ה16 ביטים הראשונים ומדפיס אותם
לא ברור למה זה 16 ולא 32 (תחלואות השימוש בint)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ירוק-בנשמה
חבר מתאריך 22.4.02
1027 הודעות, דרג אמינות חבר זה
   09:46   09.03.11   
אל הפורום  
  2. shift right הזזת הסיביות לימין.....  
בתגובה להודעה מספר 1
 
   תודה


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

דרג אמינות חבר זה
   14:43   09.03.11   
אל הפורום  
  3. למיטב הבנתי  
בתגובה להודעה מספר 0
 
   מתבצע פה Shift Left לספרה 1.

כלומר אם ניקח ייצוג של 1 בבינארי (2 בתים) -


00000000 00000001

ועכשיו נעשה לו שיפט לפט של 16 אז הוא יהיה עכשיו


10000000 00000000

ברגע שאנחנו עושים פעולת AND בינארי עם מספר שיש לו רק סיבית אחת דולקת (כמו הספרה 1) אז כל הסיביות מתאפסות חוץ ממקרה שבו הסיבית ממוקמת בדיוק במקום שיש סיבית דולקת במספר המקורי.
לכן, הבדיקה פה מתבצעת עבור כל 16 הסיביות של המספר, ובודקת עבור כל סיבית אם היא דולקת או לא ומדפיסה למסך.


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

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

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



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