מהו ממיר IEEE 754?
ממיר IEEE 754 מראה כיצד מחשב מאחסן מספר נקודה צפה הזן ערך עשרוני כמו 3.14159 והכלי מקודד אותו לתבנית הסיביות המדויקת המוגדרת בתקן IEEE 754, תוך פיצול התוצאה לשלושת חלקיה: סיבית הסימן, שדה המעריך והמנטיסה (נקראת גם השבר או המובהק) היא פועלת בשני הכיוונים, כך שניתן גם להדביק מחרוזת בינארית של 32 סיביות או 64 סיביות, או המקבילה ההקסדצימלית שלה, ולפענח אותה בחזרה למספר שהיא מייצגת.
משמש כממיר נקודה צפה IEEE 754, הוא הופך את הבעיה הקלאסית 0.1 לגלויה. בחר יחיד (32 סיביות), שמור על עשרוני, הזן 0.1 ולחץ על המר: ההקסדצימלי הוא 3DCCCCCD, המעריך המוטה הוא 123 (לא מוטה 2^-4), והערך המאוחסן קורא 0.10000000149011612. עבור לכפול (64 סיביות) ואותה קלט נותן 3FB9999999999999
מספרי נקודה צפה אינם מאוחסנים כפי שאנו כותבים אותם ערך נשמר כסימן, חזקה של שתיים ושבר מובהק, בעקבות הסכימה ב-IEEE 754-2019. עיצוב זה הוא הסיבה לכך ש-0.1 פלוס 0.2 אינו שווה בדיוק ל-0.3, מדוע חלק מהעשרונים מסתובבים כאשר הם מאוחסנים, ומדוע גדלים גדולים מאוד וקטנים מאוד אפשריים באותם 32 או 64 סיביות. ראיית הסימן, המעריך והמנטיסה המונחים הופכת את ההתנהגויות הללו לקונקרטיות במקום מסתוריות, מה שעוזר כאשר אתה מאתר באגים בבאג מספרי, כותב סדרתי, לומד ארכיטקטורת מחשבים או משווה דיוק יחיד וכפול.
כלי זה פועל בצד הלקוח ומשתמש באותם פרימיטיבים של ArrayBuffer ו-DataView שמנוע ה-JavaScript משתמש בהם באופן פנימי, כך שדפוסי הסיביות תואמים למה שה-CPU שלך היה מייצר, עד לעיגול. דיוק יחיד (binary32) משתמש בסיבית סימן 1, 8 סיביות מעריך ו-23 סיביות מנטיסה; דיוק כפול (binary64) משתמש בסיבית סימן 1, 11 סיביות מעריך ו-52 סיביות מנטיסה. המקרים המיוחדים מטופלים גם הם: אפס חיובי ושלילי, מספרים תת-נורמליים, אינסוף ו-NaN מזוהים כל אחד. שום דבר שתזין לא מועלה, והכלי ממשיך לעבוד במצב לא מקוון לאחר הטעינה.
כיצד להשתמש בממיר IEEE 754?
בחר דיוק יחיד או כפול
בחר יחיד (32 סיביות, בינארי 32) או כפול (64 סיביות, בינארי 64). כפול הוא ברירת המחדל עבור רוב השפות, אז בחר אותו אלא אם כן אתה מכוון ל-float באופן ספציפי.
בחר את סוג הקלט שלך
בחר Decimal כדי לקודד מספר, או Hex או Binary כדי לפענח תבנית סיביות קיימת בחזרה לערך כניסות מיוחדות כמו Infinity, - Infinity ו-NaN מתקבלות במצב עשרוני.
הזן את הערך שלך
הקלד מספר עשרוני כגון 3.14159 או 6.022e23, או הדבק את המספר המדויק של ספרות hex או סיביות שהדיוק דורש. ההמרה מתעדכנת ברגע שאתה ממיר.
קרא את הפירוט והעתק
ראה את הסימן, המעריך והמנטיסה מתפצלים, יחד עם הסיביות המלאות, המשושה, המעריך המוטה והבלתי מוטה, והערך המאוחסן נקרא בחזרה מהסיביות לכל שורה בטבלה יש כפתור העתקה משלה.
Single and double precision, side by side
A float is three fields packed into a fixed number of bits: one sign bit, an exponent, and the mantissa that holds the digits. How many bits each field gets is the entire difference between a 32-bit and a 64-bit number, and it is what decides where precision runs out.
| Field | Single (32-bit) | Double (64-bit) |
|---|---|---|
| Sign | 1 bit | 1 bit |
| Exponent | 8 bits | 11 bits |
| Mantissa | 23 bits | 52 bits |
| Exponent bias | 127 | 1023 |
| Total | 4 bytes | 8 bytes |
תכונות מפתח
דיוק יחיד וכפול
המר ל-binary32 (1 + 8 + 23 סיביות) או binary64 (1 + 11 + 52 סיביות), שני הפורמטים המשמשים את float ומכפילים כמעט בכל שפה.
שני הכיוונים
קודדו מספר עשרוני לביטים, או פענחו תבנית סיביות בינארית או הקסדצימלית בחזרה לערך שהיא מייצגת, מבלי להחליף כלים.
סימן, מעריך, Mantissa Split
התוצאה מחולקת לשלושת השדות שלה, כאשר גם המעריך המוטה מאוחסן בסיביות וגם החזקה הבלתי מוטה של שניים שהוא מחיל.
זוהו ערכים מיוחדים
אפס חיובי ושלילי, מספרים תת-נורמליים, אינסוף ו-NaN מזוהים כל אחד כך שתוכל לראות בדיוק לאיזה מקרה נופל דפוס סיביות.
Frequently Asked Questions
Related Tools
ASCII Table
Full ASCII and extended Latin-1 table with decimal, hex, octal, binary, HTML entity, and character name for every code 0–255, plus a text-to-ASCII-code encoder.
Binary Calculator
Add, subtract, multiply, and divide binary numbers, or run AND, OR, XOR, NOT, and bit shifts, with every result shown in binary, octal, decimal, and hex. 100% client-side.
Binary Translator
Translate text to binary and binary to text, plus hexadecimal, decimal, and octal, with full UTF-8 support
Morse Code Translator
Translate text to Morse code and Morse code to text using the International (ITU) standard, with audio playback and full punctuation support
Comments
0 comments
No comments yet. Be the first to share your thoughts!