לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #3  
ישן 03-08-2005, 20:45
  SnaCk SnaCk אינו מחובר  
 
חבר מתאריך: 09.05.05
הודעות: 303
...
בתגובה להודעה מספר 1 שנכתבה על ידי prgrmr שמתחילה ב "מספר הקסדצימלי"

בסיס הקסדצימלי – המרה


מאת : Zeos

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

{מדריך זה נכתב לצורכי לימוד בלבד – האחריות לשימושו עלייך בלבד }

יאללה!



מה זה הקסדצימלי ?
הקסדצימלי הוא בסיס 16, מה זה בסיס אתה שואל ובכן בסיס הוא הגורם שאותו מעלים בחזקה. אני יודע שאני קצת סוטה מהנושא אבל בצורה מתמטית פשוטה בסיס זה כמו ה X כאן : xAוה A הוא המעריך שלו . אז כן אם הבנת נכון – הקסדצימלי הוא בסיס 16 ו ה-A הוא המעריך שלו, תלמד חזקות ושוב לפה.




אוקיי פירוש למילה הקסדצימלי (Hexadecimal) הוא בעצם מיוונית – HEXA שזה 6 ו DECIMAL שזה 10 – דצימלי הוא הבסיס המוכר לכולנו – בסיס 10 , עשרוני. וכמו כן יש גם את הבסיס בינארי – בסיס 2 שהוא הבסיס הבסיסי ביותר ומשתמשים בו בגלל העובדה שמחשב יכול לקלוט רק אותות חשמליים של כבוי ודלוק ולכן 0 ו 1 שהם המספרים היחידים בבסיס זה מועברים למחשב. בבסיס ה הקסדצימלי משתמשים כדי לשנות פקודות ועוד דברים משום העובדה שהוא נוח לעבודה דרך שפת סף (אסמבלר) כי רוב הפקודות בה מתורגמות למספרים הקסדצימליים פשוטים יחסית (עוד פרטים במדריך אסמבלר) .



שיטות ספירה

טוב , עכשיו נכון שכאשר אתה סופר רגיל אתה סופר כך :

1 , 2, 3, 4, 5, 6, 7, 8, 9, 10 ...

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

אוקיי עכשיו למה הבלטתי את 9 ו 10 ? ! זאת משום שבנקודה הזאת בעצם המספר מקבל עוד ספרה מצד שמאל ומתאפס מחדש. כך גם בבסיס הקסדצימלי . כמו שבעשרוני אנו סופרים עד 9 ואז מוסיפים לעשרות 1 ומאפסים את היחידות (וזאת משום שמבחינה תיאורטית אין כזה דבר "עשר אחדות" אלא יש "אחד עשרות") .

בקיצור , בהקסדצימלי זה דומה – אתה סופר עד 15 ואז מוסיף אחד לספרה שמאלית רק שבהקסדצימלי הספרה השמאלית שווה לכפולות של 16 ולא לכפולות של 10.

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

עשרוני – הקסדצימלי

1 – 1

2 – 2

3 – 3

4 – 4

5 – 5

6 – 6

7 – 7

8 – 8

9 – 9

10 – A

11 – B

12 – C

13 – D

14 – E

15 – F







LET THE GAME BEGIN!



נגיד שהבנת איך זה הולך אז בוא נתחיל להמיר מ הקסדצימלי לעשרוני כי זה יותר קל.

טוב הסתכל בטבלה הבאה שמייצגת את המספר 12 בבסיס הרגיל (עשרוני) :



2

1











1

10

100

1000

10000

100000

1000000


כמו שבוודאי הספקת להבין בטבלה הזאת מוצג המספר 12 כאשר הוא מחולק ל 1 עשרות ועוד 2 יחידות , פשוט וקל . וכן גם שים לב שככל שהולכים בטבלה התחתונה שמאלה כך גם נכפל המספר בעשר , כלומר שכל מספר הוא כפולה של עשר בעצמו – חזקה שלו . ככה ש 1 זה עשר בחזקת 0 ועשר זה עשר בחזקת אחד , ומאה זה עשר בחזקת 2 .







אותו סיפור גם בהקסדצימלי :



1

16

256

4096

65536



נגיד וננסה לכתוב את המספר בהקסדצימלי (שים לב ש 12 הוא C לפי הטבלה למעלה) זה אמור להראות כך:



C









1

16

256

4096

65536

כי בעצם כופלים אותו בעצמו.

בוא נלך על מספר טיפה יותר גדול : המספר 2A שבעשרוני זה 44

למה? בוא ותראה , בעצם אפשר לחלק את 2A ככה :



A

2







1

16

256

4096

65536


אז מה בעצם יש כאן ? בשביל לקבל את התוצאה מה נעשה בדיוק כפי שעושים בעשרוני – ניקח את 12 הקודם זה בעצם 1 * 10 ועוד 2 * 1 .


אז פה המספר 2A זה יהיה 2 * 16 שזה 32 ועוד A * 1 – A זה בעצם 10

אז זה שווה ל 1 * 10 כלומר : 32 + 10 שזה שווה ל 42

מסובך ? אולי השרטוט הזה יעזור לך :

ניקח את 42 בעשרוני ונגלה שהוא שווה ל:

4 * 10 = 40

2 * 1 = 2



40 + 2 = 42



עכשיו ניקח את 2A בהקסדצימלי ונגלה שהוא שווה ל:

2 * 16 = 32

A = 10 – לפי הטבלה

10 * 1 = 10



32 + 10 = 42



בוא וקח דוגמאות אחרות :

86A =

A * 1 = 10

6 * 16 = 96

8 * 256 = 2048



10 + 96 + 2048 = 2154



כלומר : 86A = 2154







4C91



1 * 1 = 1

9 * 16 = 144

C * 256 = 3072

4 * 4096 = 16384



1+ 144 + 3072 + 16384 = 19601



כלומר 4C91 = 19601



המרה מעשרוני להקסדצימלי

עכשיו העסק אמור להיות קל אם הבנת את החלק שלמעלה ועברת את כיתה ג' :

בשביל להמיר מעשרוני להקסדצימלי מה שעושים זה פשוט, לחלק את המספר ב 16 , למה ב- 16? עקרון ההמרה שיוסבר כאן הוא פשוט פירוק ספרות ולאחר מכן שרשור שלהם ביחד ( "לחבר" אותם – נגיד 1 ו 2 יהפכו להיות 12 ) , בסדר נחזור למספר 12 העשרוני שלנו:

תחלק אותו ב –10 ותקבל

12 / 10 = 1(2)

1 / 10 = 0 (1)



בסדר... 99% שלא הבנת כלום , מה שקורה למעלה הוא בדיוק מה שהסברתי – פירוק המספר והשארית שלו היא המספר עצמו ....

12 חלקי 10 קיבלת 1 ושארית 2 מה שניתן לתרגום כ 1 עשרות ו 2 יחידות

לאחר מכן "שמרת" את ה- 2 זאת השארית וחלקת את ה 1 שקיבלת שחילקת ב 10 ממקודם וקיבלת 0 ושארית של 1 מה שאומר 1 עשרות.

2 יחידות ו 1 עשרות – 12

די מסובך להסביר את זה ככה... אם לא הבנת ככה הנה עוד שיטה : בעצם בהמרה עשרונית אתה מחלק

ב –1 0 עד שאתה מקבל במספר 0 ובשארית את המספר שחילקת עליו בעשר (1 במקרה שלנו) ואז כל פעם שאתה מחלק את השארית אתה שומר וממשיך לחלק וכל מספר שמתווסף אתה מחבר משמאל למספר כך שקיבלת בהתחלה בשארית 2 ואחר כך 1 – שרשר אותם (לשים אותם אחד ליד השני) ותקבל 12



אוקיי איך הדבר עובד בבסיס 16 ?
נגיד המספר העשרוני הבא : 22


מה נעשה אתו ? בדיוק מה שעשינו בעשרוני רק שעכשיו נחלק ב 16 ולא ב- 10!

22 / 16 = 1 (6)

1 / 16 = 0 (1)



אוקיי 6 ו –1 – שרשר וקיבלת 16



דוגמית אחרת : 58

58 / 16 = 3 (10)

3 / 16= 0 (3)



10 בהקסדצימלי זה A מה שיתקבל בסוף הוא 3A



דבר חשוב מאוד למי שמשתמש במחשבון כאשר תנסה לחלק 58 ב 16 תקבל 3.625 או בשברים 3 ו 5 חלקי 8 , עכשיו תשים לב שכאשר אתה מחפש את השארית כדי לכתוב אותה בצורה עשרונית אתה חייב להפוך את המכנה ל 16 מה שבמקרה שלנו לכפול את המכנה והמונה של 5 חלקי 8 ב –2 ואז תקבל 10 חלקי 16 . וזאת התשובה לשארית ולא 5.

לידע כללי , העיקרון פועל גם בעשרוני כי הרי נגיד שאתה רוצה לכתוב את השבר חצי (1 חלקי 2 ) בעשרוני כאשר הוא תחת בסיס עשר, אז אתה חייב לכפול את המונה והמכנה ב – 5 (כי 2 * 5 שווה ל 10 ) ואז אתה מקבל 0.5 אותו דבר בדיוק קורה גם ב הקסדצימלי כי אתה חייב "לכתוב את המספר" תחת בסיס 16 ולא תחת בסיס אחר.



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



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


By Zeos
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 06:16

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר