03-03-2012, 15:48
|
|
|
חבר מתאריך: 20.10.06
הודעות: 202
|
|
תשובות
סדר הופעת הלדים או המפסקים בסרטוט אינו חשוב. רק הסימון שלהם חשוב. כלומר D0 הוא תמיד ה-LSB ו-D7 תמיד ה-MSB (הסיבית המשמעותית ביותר) כאשר מדובר על בייט בן 8 ביטים.
"להפוך ספרה למספר"? חשבתי על זה כמה שניות ולא הבנתי למה אתה מתכוון, אז ניחשתי. אתה כנראה מעוניין להפוך ספרה בקוד ASCII לערך מספרי ששווה לספרה...
הקוד של התו "0" ב-ASCII הוא 0x30 (בדצימלי 48). כדי להמיר את התו "0" לערך מספרי מקביל לו, אכן צריך לחסר 48 מקוד ה-ASCII של התו. כך גם לגבי התווים של שאר הספרות (1-9).
והשאלה האחרונה - כמה בתים יש ב-int? ובכן התשובה היא שזה תלוי בקומפיילר (ובמקרה שלך, כנראה גם במה שמשרד החינוך אומר ;-)) או יותר מדויק - תלוי בפלטפורמה עבורה אתה כותב קוד.
בכל הקומפיילרים שאני מכיר למיקרובקר 8051, הטיפוס int הוא ברוחב של 2 בתים (בייטים). אבל אם תכתוב תוכנית בסביבת חלונות (Windows), בקומפיילר של מיקרוסופט (למשל ++Visual C), אז כשתקמפל אותה, תגלה שהקומפיילר מקצה 4 בתים עבור טיפוס מסוג Int. בחלונות, טיפוס מידע ברוחב 2 בתים נקרא בכלל Short וגם בשפת ANSI C זה כך.
לסיכום, התשובה הקצרה היא שתברר כמה בייטים יש ב-Int לפי הגדרת החומר עליו תצטרך להבחן בסופו של דבר. התשובה הארוכה יותר היא, שכאשר תגיע לעבוד בתעשיה ותצטרך לכתוב קוד שמשתמש בטיפוס int (או כל טיפוס נתונים אחר), תבדוק קודם כל בדקומנטציה של הקומפיילר וכך תדע כמה בייטים מוקצים על-ידי הקומפיילר עבור כל טיפוס מידע.
בברכה,
דיגיגיגיל
_____________________________________
_- סיוע בהשלמת פרויקט-גמר להנדסאים -_
(האתר digigil.com נסגר)
|