تنسيق ثنائي عشري مختلط مقابل IEEE754

في الموضوع السابق ، نظرنا في تنسيق جديد لتمثيل أرقام الفاصلة العشرية العشرية ، والتي أطلقنا عليها اسم تنسيق ثنائي عشري مختلط (SDDF).

يتيح لك هذا التنسيق إجراء عمليات حسابية على جهاز كمبيوتر دون استخدام BCD بنفس الدقة كما لو تم إجراء العمليات الحسابية يدويًا.
تذكر أن التنسيق الثنائي العشري المختلط (SDDF) هو تنسيق تمثيل الرمز الثنائي لأرقام الفاصلة العشرية العشرية ، حيث يكون العدد العشري هو المعادل الثنائي لقيمته العشرية ، ويكون الأس هو المكافئ الثنائي لقوة 10. يتم تمثيل الرقم الحقيقي في SDF على أنه

F=SM210e


أين M2و e عبارة عن أعداد صحيحة ثنائية. المكافئ الثنائي للرقم العشري هو الرمز الثنائي لهذا الرقم العشري بالتنسيق المحدد. المعادل العشري لرقم ثنائي هو الرمز العشري لهذا الرقم الثنائي.

دعونا نقارن الخصائص الأساسية لأرقام الفاصلة العائمة ، والتي يتم عرضها في معيار IEEE754 و SDDF. من أجل البساطة ، ضع في اعتبارك كلمة آلة 16 بت. هذا هو ما يسمى تنسيق نصف الدقة . يمكن بسهولة مقارنة نتائج المقارنة في حالة تنسيق تبادل دقيق ومزدوج.

نقسم الكلمة الثنائية 16 بت إلى الحقول التالية: S ، e ، m. أين هو الرقم S من علامة الرقم ، e - 5 بتات من الأس النازح ، m - 10 بت من المعادل الثنائي للعشري العشري للرقم. ستكون القيمة الثنائية القصوى لأس الإزاحة المسجلة في تسجيل 5 بت مساوية لـ emax = 11111 ، أو في شكل عشري emax = 31. الإزاحة في هذه الحالة هي 15.

لذا

1 . يحتوي الجزء العشري في IEEE754 على الجزء الكسري من الجزء العشري.

رقم العشري في SDDF هو عدد صحيح ثنائي.

2 . تبدو فقرة IEEE المقيسة في النموذج غير المعبأ مثل 1.xxxxxxxxxx. حيث x هو أي رقم ثنائي.

نظرًا لتطبيع الجزء العشري ، فإن جزءه بالكامل في شكل غير معبأ يساوي دائمًا 1. لا يمكن تخزين هذه الوحدة في ذاكرة الجهاز. وبالتالي ، في النموذج غير المعبأ ، مع مراعاة الوحدة الافتراضية ، سيكون لدى العشري 11 بت.

العشري المعياري في SDDF هو عدد صحيح ثنائي يساوي ما يعادل الرقم العشري ، والذي يتم تمثيله في حالتنا بثلاثة أرقام: UXX. حيث U هو أي رقم عشري لا يساوي الصفر. X هو أي رقم عشري.

يمكن تمثيل العدد العشري الأقصى 1023 في 10 بتات من الجزء العشري ، ويمكن ضمان تمثيل جميع الأعداد الصحيحة الأقل من 1023 بـ 10 بتات. لذلك ، يمكن تمثيل جميع الأعداد الصحيحة العشرية مع العشري ≤ 999 بالضبط بواسطة 10 بت من العشري.

3 . في IEEE754 ، الحد الأقصى للعشري الثنائي المعياري هو Mmax = 1.1111111111 = 1.9990234375

العدد المضمون من الأرقام الصالحة التي يمكن تمثيلها بواسطة عشري ثنائي 11 بت هو 3 .

الحد الأقصى للعشري العشري المطبق في SDDF هو Mmax = 999 أو ثنائي Mmax = 1111100111. المعادل العشري للعشري يتكون من 3 أرقام عشرية. لذلك ، يتم تمثيل الجزء العشري المكون من ثلاثة أرقام في مثالنا بدقة في SDDF 3 بأرقام عشرية مهمة.

4 . في IEEE754 ، سيكون الحد الأدنى لقيمة العشري المقيسة ، مع emin = 0: Mmin = 1.0

الحد الأدنى للعشري المعياري في SDDF ، عند emin = 0 ، يساوي الرقم العشري Mmin = 100. أو في شكل ثنائي Mmin = 0001100100.

5 . الحد الأقصى للعدد العشري الموجب الذي يمكن كتابته بتنسيق IEEE754 مع الأس المتحيز سيكون

Fmax = 2 ^ emax * Mmax = 2 ^ 31 * 1.9990234375 = 4292870144 = 4.292870144 * 10 ^ 9. ومع ذلك ، في المعيار ، الحد الأقصى هو الرقم Fmax = 2 ^ emax = 2 ^ 31 = 4294967296 = 4.294967296 * 10 ^ 8. تعتبر الأرقام> 2 ^ 31 متساوية بالإضافة إلى اللانهاية.

سيكون الحد الأقصى للعدد العشري الموجب الذي يمكن كتابته بدقة بتنسيق SDDF مع أس متحيز

Fmax = 10 ^ emax * Mmax = 10 ^ 31 * 999 = 9.99 * 10 ^ 33

6 . سيكون نطاق الأرقام المعيارية التقريبية التي يمكن تمثيلها بتنسيق IEEE هو

Fmax / Fmin = 2 ^ 31 = 4294967296 = 4.294967296 * 10 ^ 8

سيكون نطاق الأرقام الدقيقة التي يمكن تمثيلها بتنسيق SDDF مساوياً لـ
Fmax / Fmin = 9.99 * 10 ^ 31

7 . خطوة تغيير الرقم الثنائي في IEEE مع أس تعويض (emin = 0) هي:
ح = 0.0000000001 = 2 ^ -10 = 0،0009765625

خطوة تغيير الرقم العشري في SDDF مع الأس المحول (emin = 0) هي:
ح = 00001100100 = 100

8 . في IEEE754 ، مع الأس المنحرف ، إذا كان e = 0 ، فإن كل الأرقام التي <1.0 تكون دون طبيعية. كلما كان الرقم الفرعي أقل ، كلما كان المعادل العشري أقل دقة. مطلوب خوارزميات خاصة لتشفير الأرقام غير العادية إلى تنسيق التبادل ، وفك التشفير من تنسيق التبادل ، وكذلك الفخاخ الخاصة لتحديد الأرقام غير العادية أثناء العمليات الحسابية.

لا توجد أرقام ثانوية في SDDF. يتم تمثيل جميع الأرقام بدقة ، في حالتنا ، حتى 3 أرقام مهمة.

9 . مع الأس غير متحيز ، سيكون الحد الأقصى العشري الموجب المعياري الذي يمكن كتابته بتنسيق IEEE754 هو
Fmax = 2 ^ emax * Mmax = 2 ^ 15 * 1.9990234375 = 65504. ومع ذلك ، في المعيار ، الحد الأقصى هو الرقم Fmax = 2 ^ emax = 2 ^ 15 = 32768. تعتبر الأرقام> 32768 متساوية بالإضافة إلى اللانهاية.

مع الأس غير متحيز ، سيكون الحد الأقصى للرقم العشري الموجب الذي يمكن كتابته في SDDF مساويًا

Fmax = 10 ^ emax * Mmax = 999 * 10 ^ 15 = 9.99 * 10 ^ 17

10 . مع الأس غير متحيز ، سيكون الحد الأدنى العشري الموجب المعياري بتنسيق IEEE754 هو Fmin = 1.0 * 2 ^ -15 =
3.0517578125 * 10 ^ -5.

مع الأس غير متحيز ، سيكون الحد الأدنى العشري الموجب المعياري الذي يمكن كتابته بتنسيق SDDF هو Fmin = 100 * 10 ^ -15 = 10 ^ -13

11 . مع الأس غير متحيز ، فإن الحد الأدنى للخطوة العشرية المكافئة الثنائية في IEEE هو:

ح = 0.0000000001 * 2 ^ -15 = 2 ^ -25 = 3.0517578125 * 10 ^ -5

مع الأس غير متحيز ، تتوافق الحد الأدنى للخطوة في SDDF مع الحد الأدنى للرقم وتساوي:

ح = 001100100 * 10 ^ -15 = 10 ^ -13

12 . في IEEE754 ، وظيفة الاعتماد على قيمة المعادل العشري للرقم Fd على قيمته الثنائية ليست موحدة ، لأن لتغيير الرقم الأقل أهمية من الجزء العشري من الرقم ، كقاعدة عامة ، فإن مجموع عدة h يساوي الجهاز necessary ضروري.
لذا ، على سبيل المثال ، إذا e = 0 ، بالنسبة إلى Fd1 = 1.0 = 1.0000000000 و Fd2 = 1.1≈1.0001100110 ، سيكون لدينا
Fd2- Fd1 = 1.0001100110 -1.0000000000 = 0.0001100110 = 0.099609375
0.0001100110 / ساعة = 0.0001100110 / 0.0000000001 = 1100110 = 102 = Ɛ

في SDDF ، تكون وظيفة الاعتماد على قيمة المعادل العشري للرقم Fd على قيمته الثنائية موحدة. أي تغيير في h للمكافئ الثنائي للرقم العشري ، ينطوي على تغيير في البتة الأقل دلالة من المعادل العشري للرقم. هنا آلة Ɛ = 1. حقا.

إذا كان e = 0 ،
Fd1 = 100 = 0001100100
Fd2 = 200 = 0011001000
Fd2- Fd1 = 0011001000-0001100100 = 0001100100 = 100 = ح

في الختام ، نقدم الخصائص الرئيسية لتمثيل الأعداد الحقيقية في معيار IEEE754 و SDDF لتنسيق التبادل ، الذي يتكون من 32 بت (الدقة الواحدة في معيار IEEE754).

بالنسبة إلى IEEE754 ، يتم تخصيص بتات كلمة آلة مفردة الدقة كـ S - 1 بت من رمز الإشارة ، e - 8 بت من الأس المتحيز ، m - 23 بت عشري صريح. مفتوح ، م = 24.

بالنسبة إلى IEEE754:
معامل الإزاحة الأسي هو 127 إيماكس = 127. الترتيب غير المتحيز لأصغر عدد طبيعي مع M = 1.0 هو p = e-127 + 1 = -126. تعتبر الأرقام <2 ^ -126 غير طبيعية.

الحد الأدنى من الرقم المعياري هو Fmin = 1.0 * 2 ^ -126 = 1.1754943508222875079687365372222e-38

الحد الأقصى لعدد طبيعي
Fmax = 2 ^ 127 = 1،7014118346046923173168730371588e + 38

تعتبر الأرقام التي تتجاوز 2 ^ 127 ما لا نهاية إيجابية.

بالنسبة إلى SDDF ، يتم توزيع أرقام كلمة الآلة على النحو التالي: رقم S - 1 ، e - 7 بت ، m - 24 بت. معامل الإزاحة الأسي هو 63. ثم

ايماكس = 64
Mmax = 9999999
Fmax = 9999999 * 10 ^ 64 = 9.999999 * 10 ^ 70
Fmin = 1،000،000 * 10 ^ -63 = 10 ^ -57

دقة تمثيل الأعداد العشرية الحقيقية هي 7 أرقام عشرية مهمة.

Source: https://habr.com/ru/post/ar414117/


All Articles