דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. C++
  5. עזרה הדדית - C++
  6. מדריך | אסמבלי- קצת על בינארי וHex (שאני לא חובב בלשון המעטה.)

מדריך | אסמבלי- קצת על בינארי וHex (שאני לא חובב בלשון המעטה.)

מתוזמן נעוץ נעול הועבר עזרה הדדית - C++
16 פוסטים 8 כותבים 293 צפיות 10 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מ מד

    @צול-גאה ניחוש GPT בספוילר

    10110000 בבינארי = 176 בעשרוני.

    אבל כנראה שהכוונה של שם המשתמש היא לא סתם המספר 176, אלא קוד ASCII:
    המספר הבינארי 10110000 הוא 0xB0, כלומר התו ° בקידוד Latin-1/Windows-1252 — סימן המעלות.

    כלומר, הרמז בתגובה כנראה מוביל ל־"מעלות" / °. 😄

    צול גאהצ מחובר
    צול גאהצ מחובר
    צול גאה
    כתב נערך לאחרונה על ידי
    #7

    @מד
    כיוון יפה
    אבל לא
    דווקא התחלת בסדר אבל לא מספיק
    אני לא רוצה להמשיך לא יודע אם הוא מסכים

    או יותר נכון די ברור שהוא לא מסכים ;)

    בהצלחה

    B תגובה 1 תגובה אחרונה
    1
    • צול גאהצ צול גאה

      @מד
      כיוון יפה
      אבל לא
      דווקא התחלת בסדר אבל לא מספיק
      אני לא רוצה להמשיך לא יודע אם הוא מסכים

      או יותר נכון די ברור שהוא לא מסכים ;)

      בהצלחה

      B מנותק
      B מנותק
      Bugs Bunny
      כתב נערך לאחרונה על ידי
      #8
      פוסט זה נמחק!
      תגובה 1 תגובה אחרונה
      0
      • B Bugs Bunny

        # קצת על בינארי והקס.

        לפני שנמשיך קצת על : בינארי והקסדצימלי.

        למה בינארי?

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

        דלוק או כבוי.

        1 או 0.

        וזהו.

        לכן המידע הדיגיטלי במחשב מיוצג בבסיס 2, שנקרא בינארי (Binary).

        אנחנו רגילים לכתוב:

        0 1 2 3 4 5 6 7 8 9
        

        כי אנחנו עובדים בבסיס 10.

        בבינארי יש רק:

        0 1
        

        לכן המספר:

        10
        

        בבסיס 2 הוא בעצם 2 בבסיס 10.

        וזה מזכיר את המשפט (@בנימין-מחשבים )

        "יש 10 סוגי אנשים: אלה שמבינים בינארית ואלה שלא."

        אלה שמבינים בינארית יודעים ש־10 זה 2.

        ואלה שלא... מחכים ל־9 הבאים. שלא יבואו. 😄


        Bit

        חשוב לזכור!

        Bit הוא יחידת המידע הקטנה ביותר שיש במחשב

        ביט אחד יכול להיות:

        0
        

        או:

        1
        

        כלומר יש לו שתי אפשרויות בלבד.

        אם יש ארבעה ביטים:

        1010
        

        יש לנו ארבעה ביטים נפרדים:

        1 0 1 0
        

        כל אחד מהם יכול להיות 0 או 1.

        ואם יש שמונה ביטים:

        10101100
        

        יש לנו Byte אחד, כלומר 8 ביטים.

        1 0 1 0 1 1 0 0
        <------ 8 ------->
        

        זה חשוב כי בהמשך באסמבלי תפגשו כל הזמן במונחים כמו:

        Bit
        Byte   = 8 bits
        Word   = 16 bits
        DWORD  = 32 bits
        QWORD  = 64 bits
        

        אז למה לא בינארי?

        כי זה סיוט לבני אנוש...

        נניח השורה הבאה.

        1101111010101101
        

        זה בינארי אבל לא שקריא לבני אדם.
        בקוד מכונה ובזיכרון אנחנו יכולים להיתקל ברצפים הרבה יותר ארוכים.

        פה נכנס Hexadecimal, או בקיצור Hex.


        הקס - בסיסי 16 בספירה

        הקסדצימלי הוא פשוט בסיס 16.

        במקום עשר ספרות כמו בבסיס 10:

        0 1 2 3 4 5 6 7 8 9
        

        יש לנו 16 אפשרויות:

        0 1 2 3 4 5 6 7 8 9 A B C D E F
        

        האותיות מייצגות את המספרים:

        A = 10
        B = 11
        C = 12
        D = 13
        E = 14
        F = 15
        

        למה בסיס 16?

        עיקרון פשוט ומאוד שימושי:

        16 = 2⁴

        כל ספרה אחת בהקס מייצגת 4 ביטים.

        לדוגמה:

        0000 = 0
        0001 = 1
        0010 = 2
        0011 = 3
        0100 = 4
        0101 = 5
        0110 = 6
        0111 = 7
        1000 = 8
        1001 = 9
        1010 = A
        1011 = B
        1100 = C
        1101 = D
        1110 = E
        1111 = F
        

        במקום לכתוב:

        1101111010101101
        

        אפשר לחלק לארבע.

        1101 1110 1010 1101
        

        ולהמיר כל קבוצה לספרת Hex:

         D    E    A    D
        

        ולכן:

        1101111010101101₂ = DEAD₁₆
        

        אותו מידע בדיוק.

        צורה יותר קריאה (אני ממש לא מסכים😕 )


        איך זה נראה באסמבלי?

        באסמבלי, כשתראו מספר Hex, בדרך כלל תראו לפניו 0x.

        לדוגמה:

        mov rax, 0xDEAD
        

        ה־0x אומר:

        "המספר כתוב בהקסדצימלי."

        כלומר:

        0xDEAD
        

        דרך אחרת לכתוב אותו ערך בבינארי:

        1101 1110 1010 1101
        

        או בעשרוני:

        57005
        

        שלושת הייצוגים מתארים את אותו ערך:

        57005₁₀
        = DEAD₁₆
        = 1101111010101101₂
        

        לדוגמה:

        mov rax, 0xFF
        

        או:

        mov rax, 255
        

        מה שונה בהקס?

        אבל:

        בבסיס 16 אנחנו צריכים 16 ספרות, אבל יש לנו רק:

        0-9
        

        פשוט ממשיכים באותיות:

        A = 10
        B = 11
        C = 12
        D = 13
        E = 14
        F = 15
        

        ולכן אפשר לראות דברים כמו:

        0xDEAD
        0xBEEF
        0xCAFE
        

        אחד המפורסמים הוא:

        0xDEADBEEF
        

        לסיכום:

        בזיכרון של המחשב אין באמת "Hex".
        Hex הוא דרך שבה אנחנו כותבים ומציגים מידע.
        גם "בינארי" הוא דרך הייצוג שלנו למידע הדיגיטלי.
        בפועל, בזיכרון יש מצבים פיזיקליים שאנחנו מייצגים כ־0 ו־1.
        לכן אם בזיכרון יש למשל:

        10101100
        

        אפשר להציג את אותם 8 ביטים כ:

        10101100    ← בינארי
        AC          ← Hex
        172         ← עשרוני
        

        זה לא אומר שיש בזיכרון שלושה דברים שונים.

        יש אותו מידע, ואנחנו מסתכלים עליו בשלוש דרכים
        זה מתחבר למה שאמרתי קודם.
        הביטים עצמם לא אומרים לנו מה הם "אמורים להיות".
        אותו רצף ביטים יכול להיות מספר, חלק מטקסט, נתונים, או הוראות מכונה הכול באופן שבו מפרשים אותו. (וזה עוד עניין וצ"ע)


        אז למה Hex?

        כי כשעובדים בלואו לבל נתעסק המון בבינארי

        אבל לכתוב בינארי זה סיוט:

        11111111100000001111010110101010
        

        ב־Hex זה הופך ל:

        0xFFF0F5AA
        

        הרבה יותר קצר, הרבה יותר קל לראות ולזהות מבנים. (עובדים עם זה המון..)

        בגלל שכל ספרת Hex מייצגת בדיוק 4 ביטים, אפשר לעבור מבינארי לHex בצורה מאוד קלה.

        לדוגמה:

        1011 0010 1111 0100
        

        הופך ל:

        B    2    F    4
        

        כלומר:

        0xB2F4
        

        בעז"ה זה היה קצת חשבון @אלישי אשמח להצטרף לקבוצת תכנות זה יהיה יותר מסודר..
        בעז"ה המשך יבוא (גילוי נאות: AI ערך פה ושם קצת אך לא כתב בעיקר פיסק)

        דאבלד מנותק
        דאבלד מנותק
        דאבל
        כתב נערך לאחרונה על ידי
        #9

        @Bugs-Bunny שכוייח, התחלתי בעבר כזה, ועצרתי כי לא היה דרישה כ"כ, אז שים לב, אולי כדאי להוסיף הלאה ולא לחזור על אותם דברים פעמיים.

        arcivaty@gmail.com

        B תגובה 1 תגובה אחרונה
        2
        • דאבלד דאבל

          @Bugs-Bunny שכוייח, התחלתי בעבר כזה, ועצרתי כי לא היה דרישה כ"כ, אז שים לב, אולי כדאי להוסיף הלאה ולא לחזור על אותם דברים פעמיים.

          B מנותק
          B מנותק
          Bugs Bunny
          כתב נערך לאחרונה על ידי
          #10

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

          תגובה 1 תגובה אחרונה
          1
          • B Bugs Bunny

            # קצת על בינארי והקס.

            לפני שנמשיך קצת על : בינארי והקסדצימלי.

            למה בינארי?

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

            דלוק או כבוי.

            1 או 0.

            וזהו.

            לכן המידע הדיגיטלי במחשב מיוצג בבסיס 2, שנקרא בינארי (Binary).

            אנחנו רגילים לכתוב:

            0 1 2 3 4 5 6 7 8 9
            

            כי אנחנו עובדים בבסיס 10.

            בבינארי יש רק:

            0 1
            

            לכן המספר:

            10
            

            בבסיס 2 הוא בעצם 2 בבסיס 10.

            וזה מזכיר את המשפט (@בנימין-מחשבים )

            "יש 10 סוגי אנשים: אלה שמבינים בינארית ואלה שלא."

            אלה שמבינים בינארית יודעים ש־10 זה 2.

            ואלה שלא... מחכים ל־9 הבאים. שלא יבואו. 😄


            Bit

            חשוב לזכור!

            Bit הוא יחידת המידע הקטנה ביותר שיש במחשב

            ביט אחד יכול להיות:

            0
            

            או:

            1
            

            כלומר יש לו שתי אפשרויות בלבד.

            אם יש ארבעה ביטים:

            1010
            

            יש לנו ארבעה ביטים נפרדים:

            1 0 1 0
            

            כל אחד מהם יכול להיות 0 או 1.

            ואם יש שמונה ביטים:

            10101100
            

            יש לנו Byte אחד, כלומר 8 ביטים.

            1 0 1 0 1 1 0 0
            <------ 8 ------->
            

            זה חשוב כי בהמשך באסמבלי תפגשו כל הזמן במונחים כמו:

            Bit
            Byte   = 8 bits
            Word   = 16 bits
            DWORD  = 32 bits
            QWORD  = 64 bits
            

            אז למה לא בינארי?

            כי זה סיוט לבני אנוש...

            נניח השורה הבאה.

            1101111010101101
            

            זה בינארי אבל לא שקריא לבני אדם.
            בקוד מכונה ובזיכרון אנחנו יכולים להיתקל ברצפים הרבה יותר ארוכים.

            פה נכנס Hexadecimal, או בקיצור Hex.


            הקס - בסיסי 16 בספירה

            הקסדצימלי הוא פשוט בסיס 16.

            במקום עשר ספרות כמו בבסיס 10:

            0 1 2 3 4 5 6 7 8 9
            

            יש לנו 16 אפשרויות:

            0 1 2 3 4 5 6 7 8 9 A B C D E F
            

            האותיות מייצגות את המספרים:

            A = 10
            B = 11
            C = 12
            D = 13
            E = 14
            F = 15
            

            למה בסיס 16?

            עיקרון פשוט ומאוד שימושי:

            16 = 2⁴

            כל ספרה אחת בהקס מייצגת 4 ביטים.

            לדוגמה:

            0000 = 0
            0001 = 1
            0010 = 2
            0011 = 3
            0100 = 4
            0101 = 5
            0110 = 6
            0111 = 7
            1000 = 8
            1001 = 9
            1010 = A
            1011 = B
            1100 = C
            1101 = D
            1110 = E
            1111 = F
            

            במקום לכתוב:

            1101111010101101
            

            אפשר לחלק לארבע.

            1101 1110 1010 1101
            

            ולהמיר כל קבוצה לספרת Hex:

             D    E    A    D
            

            ולכן:

            1101111010101101₂ = DEAD₁₆
            

            אותו מידע בדיוק.

            צורה יותר קריאה (אני ממש לא מסכים😕 )


            איך זה נראה באסמבלי?

            באסמבלי, כשתראו מספר Hex, בדרך כלל תראו לפניו 0x.

            לדוגמה:

            mov rax, 0xDEAD
            

            ה־0x אומר:

            "המספר כתוב בהקסדצימלי."

            כלומר:

            0xDEAD
            

            דרך אחרת לכתוב אותו ערך בבינארי:

            1101 1110 1010 1101
            

            או בעשרוני:

            57005
            

            שלושת הייצוגים מתארים את אותו ערך:

            57005₁₀
            = DEAD₁₆
            = 1101111010101101₂
            

            לדוגמה:

            mov rax, 0xFF
            

            או:

            mov rax, 255
            

            מה שונה בהקס?

            אבל:

            בבסיס 16 אנחנו צריכים 16 ספרות, אבל יש לנו רק:

            0-9
            

            פשוט ממשיכים באותיות:

            A = 10
            B = 11
            C = 12
            D = 13
            E = 14
            F = 15
            

            ולכן אפשר לראות דברים כמו:

            0xDEAD
            0xBEEF
            0xCAFE
            

            אחד המפורסמים הוא:

            0xDEADBEEF
            

            לסיכום:

            בזיכרון של המחשב אין באמת "Hex".
            Hex הוא דרך שבה אנחנו כותבים ומציגים מידע.
            גם "בינארי" הוא דרך הייצוג שלנו למידע הדיגיטלי.
            בפועל, בזיכרון יש מצבים פיזיקליים שאנחנו מייצגים כ־0 ו־1.
            לכן אם בזיכרון יש למשל:

            10101100
            

            אפשר להציג את אותם 8 ביטים כ:

            10101100    ← בינארי
            AC          ← Hex
            172         ← עשרוני
            

            זה לא אומר שיש בזיכרון שלושה דברים שונים.

            יש אותו מידע, ואנחנו מסתכלים עליו בשלוש דרכים
            זה מתחבר למה שאמרתי קודם.
            הביטים עצמם לא אומרים לנו מה הם "אמורים להיות".
            אותו רצף ביטים יכול להיות מספר, חלק מטקסט, נתונים, או הוראות מכונה הכול באופן שבו מפרשים אותו. (וזה עוד עניין וצ"ע)


            אז למה Hex?

            כי כשעובדים בלואו לבל נתעסק המון בבינארי

            אבל לכתוב בינארי זה סיוט:

            11111111100000001111010110101010
            

            ב־Hex זה הופך ל:

            0xFFF0F5AA
            

            הרבה יותר קצר, הרבה יותר קל לראות ולזהות מבנים. (עובדים עם זה המון..)

            בגלל שכל ספרת Hex מייצגת בדיוק 4 ביטים, אפשר לעבור מבינארי לHex בצורה מאוד קלה.

            לדוגמה:

            1011 0010 1111 0100
            

            הופך ל:

            B    2    F    4
            

            כלומר:

            0xB2F4
            

            בעז"ה זה היה קצת חשבון @אלישי אשמח להצטרף לקבוצת תכנות זה יהיה יותר מסודר..
            בעז"ה המשך יבוא (גילוי נאות: AI ערך פה ושם קצת אך לא כתב בעיקר פיסק)

            א מנותק
            א מנותק
            אני רוצה משיח
            כתב נערך לאחרונה על ידי אני רוצה משיח
            #11

            @Bugs-Bunny כתב:

            לבני אדם יש עשר אצבעות, אז איכשהו יצא שאנחנו סופרים בבסיס 10.

            טכנית, הערבים ספרו כך ראשונים, וזה השתרש אצל כולם.
            בעזרת האבן עזרא, אגב.

            י תגובה 1 תגובה אחרונה
            0
            • א אני רוצה משיח

              @Bugs-Bunny כתב:

              לבני אדם יש עשר אצבעות, אז איכשהו יצא שאנחנו סופרים בבסיס 10.

              טכנית, הערבים ספרו כך ראשונים, וזה השתרש אצל כולם.
              בעזרת האבן עזרא, אגב.

              י מנותק
              י מנותק
              יעב"ץ
              כתב נערך לאחרונה על ידי
              #12

              @אני-רוצה-משיח
              תציין מקור.

              תגובה 1 תגובה אחרונה
              0
              • א מנותק
                א מנותק
                אני רוצה משיח
                כתב נערך לאחרונה על ידי
                #13

                @יעב-ץ כתב:

                תציין מקור.

                ויקיפדיה

                השיטה המשלבת שימוש בבסיס 10 עם חשיבות לפי מיקום הספרה במספר פותחה בהודו במאה ה-6. הערבים אימצו אותה והשתמשו בה החל מהמאה ה-9 בעקבות ספר שפרסם המתמטיקאי מוחמד אבן מוסא אל-ח'ואריזמי בשנת 825, שבו סקר את השיטה והשימוש בה.

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

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

                י תגובה 1 תגובה אחרונה
                0
                • א אני רוצה משיח

                  @יעב-ץ כתב:

                  תציין מקור.

                  ויקיפדיה

                  השיטה המשלבת שימוש בבסיס 10 עם חשיבות לפי מיקום הספרה במספר פותחה בהודו במאה ה-6. הערבים אימצו אותה והשתמשו בה החל מהמאה ה-9 בעקבות ספר שפרסם המתמטיקאי מוחמד אבן מוסא אל-ח'ואריזמי בשנת 825, שבו סקר את השיטה והשימוש בה.

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

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

                  י מנותק
                  י מנותק
                  יעב"ץ
                  כתב נערך לאחרונה על ידי יעב"ץ
                  #14

                  @אני-רוצה-משיח
                  נו נו.
                  ג"כ מקור.

                  מעבר לכך, מה שהבאת לא מתייחס ל10 כבסיס, אלא למיקום הספרות.
                  ההתייחסות ל10 כבסיס, נמצאת כבר בתורה בפרשת בראשית, במנין שנות חיי האנשים.

                  25802 תגובה 1 תגובה אחרונה
                  2
                  • י יעב"ץ

                    @אני-רוצה-משיח
                    נו נו.
                    ג"כ מקור.

                    מעבר לכך, מה שהבאת לא מתייחס ל10 כבסיס, אלא למיקום הספרות.
                    ההתייחסות ל10 כבסיס, נמצאת כבר בתורה בפרשת בראשית, במנין שנות חיי האנשים.

                    25802 מנותק
                    25802 מנותק
                    2580
                    מדריכים
                    כתב נערך לאחרונה על ידי
                    #15

                    @יעב-ץ כתב:

                    למיקום הספרות

                    נראה כוונתו לצורת הספרות

                    בקרו - https://yo-2580.github.io/profile2580/

                    י תגובה 1 תגובה אחרונה
                    0
                    • 25802 2580

                      @יעב-ץ כתב:

                      למיקום הספרות

                      נראה כוונתו לצורת הספרות

                      י מנותק
                      י מנותק
                      יעב"ץ
                      כתב נערך לאחרונה על ידי
                      #16

                      @2580
                      לאו.
                      אלא למיקום הספרות.
                      עיין בדבר ותמצא.

                      תגובה 1 תגובה אחרונה
                      0

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

                      נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                      בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                      הרשמה התחברות

                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • חוקי הפורום
                      • פופולרי
                      • לא נפתר
                      • משתמשים
                      • חיפוש גוגל בפורום
                      • צור קשר