בעיה קלה ב-BITWISE OPERATIONS

  • פותח הנושא sf8f
  • פורסם בתאריך

sf8f

New member
בעיה קלה ב-BITWISE OPERATIONS

בהינתן BYTE, אני מעוניין לדעת האם הוא מייצג סידרה של 1-ים רצופים מההתחלה עד לנקודה מסויימת. דוגמא: כל אלה טובים בשבילי: 00001111 00111111 11111111 00000001 כל אלה לא טובים בשבילי: 00010010 01111110 11111110 כיצד ניתן לעשות זאת ללא לולאות וללא SHIFT-ים. רק בהיסתמך על BITWISE של AND OR XOR והשוואה לערכים כלשהם כרצוני. תודה
 
יש טריק תחשוב מה קורה למספר מהצורה הרצויה שלך אם מוסיפים לו 1. בהינתן קלט X, תחשוב על פעולה שאתה יכול לבצע בין X לבין (X+1), שתיתן לך את התוצאה הרצויה.
 

sf8f

New member
תודה

וטוב שלא אמרתי לי את הכל, תמיד יש בסיפוק בלהגיע לפתרון (לפחות חצי) לבד
 
למעלה