ثنائي خيارات تطبيع - شكل
كيفية تمثيل 0.148 2 في حساب النقطة العائمة تطبيع مع الشكل (0.148) (0.00100101111.) 2 نحن تحويله 3 بت إلى اليسار لجعله تطبيع (1.00101111) 2 2. أس 1164 (75) (1001011) 2 و مانتيسا (01001111) 2. تمثيل العائمة هو (0100101100101111) 2 (4B2F) التمثيل A ولكن إذا قمنا بتخزين العارضة دينورماليزد إلى 8 بت تسجيل، ثم انها لن يكون قد تم تخزين الماضي 1s وثم العشري قد تطبيع من (0.00100101) 2 إلى (1.00101000 ) 2 عن طريق إدخال 3 0s بدلا من 1s. التمثيل ب (0100101100101000) 2 (4B28) التمثيل B حتى في حالة التطبيع، هل يأخذ المعالج في الاعتبار البتات العظمية المقلوبة بعد 8 بتات أيضا أو يقذفها فقط أي واحد هو الصحيح: A أو B هل تخزن العظمة في تمثيل نقطة ثابتة كيف يعمل كل شيء يتم ترجمة هذه الصفحة من الأصل باستخدام مترجم جوجل. إيي 754 - معيار تعويم الحسابية الثنائية المؤلف: ياشكاردين فلاديميرنبسب نبسب softelectro. ru نبسب نبسب 2009-2011 نبسب نبسب نبسب نبسب نبسب infosoftelectro. ru 1. العنوان القياسية. تم تصميم هذا المعيار جمعية إيي (معهد مهندسي الكهرباء والإلكترونيات) ويستخدم لتمثيل الأرقام الحقيقية (النقطة العائمة) في التعليمات البرمجية الثنائية. المعيار الأكثر استخداما لنقطة العائمة، المستخدمة من قبل العديد من المعالجات الدقيقة والمنطق الأجهزة والبرمجيات. العنوان الكامل للمعيار في الجمعية إيي: معيار إيي للحسابات العائمة الثنائية الحسابية (أنسيييي ستد 754-1985) عنوان المعيار في اللجنة الكهروتقنية الدولية إيك: إيك 60559: 1989، الحساب الثنائي العائم للأنظمة المعالجات الدقيقة (إيك) 559: 1989 - التسمية القديمة للمعيار) في عام 2008، أصدرت الجمعية معيار إيي إيي 754-2008، والتي شملت معيار إيي 754-1985. وصف 2.Brief للمعيار. الطبعة الأصلية للمعيار: معيار إيي لنقطة العائمة الثنائية الحساب نبسب نبسب نبسب نبسب نبسب نبسب نبسب نبسب نبسب حقوق الطبع والنشر 1985 من قبل معهد المهندسين الكهربائية والإلكترونيات، وشركة 345 شرق 47 شارع، نيويورك، نيويورك 10017، الولايات المتحدة الأمريكية ذي المعيار يحتوي على 23 صفحة من النص في 7 أقسام ومرفق واحد: 1. النطاق 1.1 أهداف التنفيذ 1.2 المشتملات 1.3 الاستثناءات 2. التعاريف 3. التنسيقات 3.1 مجموعات من القيم 3.2 التنسيقات الأساسية 3.3 الأشكال الموسعة 3.4 تركيبات التنسيقات 4. التجوال () إلى أقرب 4.2 التوجيهات الموجهة 4.3 التقريب الدقة 5.Operations 5.1 الحساب 5.2 الجذر التربيعي 5.3 العائمة تنسيقات التحويلات 5.4 التحويل بين العائمة نقطة والأرقام الصحيحة 5.5 العائمة جولة رقم إلى قيمة صحيح 5.6 التحويل العشري ثنائي 5.7 مقارنة 6.Infinity، نانز، و زيرو سيغن 6.1 إنفينيتي الحساب 6.2 العمليات مع نانز 6.3 بت إشارة 7.Exceptions 7.1 عملية غير صالحة 7.2 تقسيم صفر صفر 7.3 تجاوز 7.4 أوند رفو 7.5 غير دقيقة 8. الأشرطة 8.1 مصيدة فخ 8.2 الأسبقية أ. الوظائف الموصى بها والمساعدات نبسب نبسب نبسبنبفورتفونتيوناتيلي، وقد تطورت إيي من منظمة الهندسة العامة الدولية (التي كانت في الأصل) منظمة تجارية. تمتلك هذه المنظمة حقوق النشر لنشر المعيار IEEE754-1985. حتى إذا كنت تريد أن تقرأ، مع المعيار الأصلي، لديك لشرائه لحوالي 80. ومع ذلك، يسمح لي القانون الروسي بالتعليق على تعليم هذا المعيار. ولذلك، فإن مزيد من سوء إعطاء عرض تعسفي للمعيار والتعبير عن رأيهم حول ذلك لأغراض التدريب. سيحدد المعيار إيي 754-1985: يتم تطبيعها كعدد نقاط عائمة موجبة وسالبة كيفية تمثيل أرقام النقطة العائمة الموجبة والسالبة دينورماليزد كيفية تمثيل عدد الصفر كقيمة خاصة لتمثيل اللانهاية (إنفينيتي) كيفية تمثيل رقم خاص (نان أو نانز) أربعة أنماط من التقريب إيي 754-1985 تعرف أربعة أشكال لأرقام العائمة: دقة واحدة (دقة واحدة) 32 بت دقة مزدوجة (مزدوجة الدقة) 64 بت مع واحد (الدقة الممتدة واحدة) 43 بتة (نادرا ما تستخدم) الدقة الممتدة المزدوجة (الدقة الممتدة المزدوجة) 79 بتة (عادة ما تستخدم 80 بتة) 3. المفاهيم الأساسية في تمثيل أرقام النقطة العائمة. 3-1 تقديم نموذج أسي مطابق. على سبيل المثال، الرقم العشري 155.625 تخيل الرقم في شكل أسي مطابق: 1،55625872910 2 1،556258729exp 10 2 عدد 1،556258729exp 10 2 يتكون من جزأين: عفريت M 1.55625 و الأس إكس 10 2 إذا كان العفريت هو في نطاق 1 -2. 3.2 تقديم نموذج أسي غير طبيعي. خذ، على سبيل المثال، الرقم العشري 155،625 تخيل عدد الأساليب دينورماليزد الأسي: 0،155625872910 3 0،1556258729exp 10 3 عدد 0،1556258729exp 10 3 يتكون من جزأين: العشري M 0،55625 والأس إكس إكس 10 3 إذا كان العفريت هو في نطاق 0،1 -3. 3.3 تحويل الرقم العشري إلى رقم النقطة العائمة الثنائية. يتم تقليل مشكلتنا إلى أرقام عشرية عائمة نقطة في رقم النقطة العائمة الثنائية في شكل تطبيع أسي. للقيام بذلك نقوم بتوسيع العدد المعطى للأرقام الثنائية: 155،625 187292 7 087292 6 087292 5 187292 4 187292 3 087292 2 187292 1 187292 0 187292 -1 087292 -2 187292 -3 155،625 128 0 0 16 8 0 2 1 0.5 0 0.125 155،625 10 10011011،101 2 - عدد النقاط العشرية والثنائية العائمة دع الرقم الناتج إلى الشكل المعياري في العشرية والنظام الثنائي: 1،556258729exp 10 2 1،00110111018729exp 2 111 ونتيجة لذلك، لدينا المكونات الرئيسية ل أسيتيونال أسيتيونال أوف بيناري نومبرس: مانتيسا M1.0011011101 إكسب إكس 2 111 4. الوصف تحويل أرقام إيي 754. 1.4 تحويل الأرقام الثنائية المقيسة بتنسيق 32 بت إيي 754 كان التطبيق الرئيسي في أشكال التكنولوجيا والبرمجة 32 و 64 بت. على سبيل المثال، في ف باستخدام أنواع البيانات واحد (32 بت) ومضاعفة (64 بت). النظر في تحويل الرقم ثنائي 10011011.101 تنسيق واحد الدقة (32 بت) معيار إيي 754. أشكال أخرى من الأرقام في إيي 754 هو نسخة مكبرة من الدقة واحدة. ولتوفير الرقم بصيغة واحدة، ينبغي أن يحضر المعيار إيي 754 النموذج العادي العادي. في 3، قمنا بهذا التحويل على الرقم 155.625. النظر الآن، كما يتم تحويل رقم ثنائي تطبيع إلى تنسيق 32 بت إيي 754 وصف التحول في شكل 32 بت إيي 754: يمكن أن يكون عدد أو -. لذلك تلعب قليلا لتعيين علامة: 0 إيجابية 1-سلبي هذا بت الأكثر أهمية لتتابع 32 بت. ثم انتقل بت أس، وهذا يخصص 1 بايت (8 بت). قد يكون العارضون، بالرقم، مع علامة أو -. لتحديد علامة الأس، عدم إدخال بتة إشارة أخرى، أضف الإزاحة إلى الأس في نصف البايت 127 (0111 1111). أي إذا كان لدينا معرض 7 (111 في ثنائي)، ثم تحولت الأس 7 127 134. وإذا كان العارضين لدينا -7، ثم المقاصة بوثس 127-7 120. يتم كتابة الأس المتحيزة في 8 بت المخصصة. ومع ذلك، عندما سنحتاج إلى الحصول على أرقام ثنائية الأسية، ونحن ببساطة طرح 127 من هذه البايتة. البتات 23 المتبقية وضعت جانبا للالعشري. ومع ذلك، فإن البتة الأولى العشرية الثنائية المعتادة هي دائما 1، لأن الرقم في النطاق 1 يبين الجدول الرقم العشري 155.625 بتنسيق 32 بت IEEE754: 001 1011 1010 0000 0000 0000 2 971 87761،99584e292 مما سبق، بالنظر إلى أن الجزء الأكبر من الأرقام في شكل IEEE754 له خطأ نسبي صغير مستقر: أقصى خطأ نسبي ممكن للرقم هو مفرد 2 -23 100 11،920928955078125e-6 أقصى خطأ نسبي ممكن لعدد مزدوج 2 -52 100 2،2204460492503130808472633361816e-14 7.5 معلومات عامة لعدد المعيار إيي والدقة المزدوجة إيي 754. الجدول 3. معلومات عن النسق 3264 بت في معيار طول أنسي إيي ستد 754-1985 عدد بت يقابل الأسي (E)، بت ما تبقى من العشري (M)، بت دينورماليزد عدد ثنائي تطبيع عدد ثنائي دينورماليزد عدد عشري F (-1) S 87292 (E-126) 8729 M2 23 F (-1) S 87292 (E-1022) 8729M2 52 تطبيع عدد عشري F (-1) S 87292 (E-12 7) 8729 (1 M2 23) F (-1) S 87292 (E-1023) 8729 (1M2 52) عبس. كحد أقصى. رقم الخطأ ريل. كحد أقصى. دينورمز الخطأ. عدد ريل. كحد أقصى. أخطاء. نومبر 2 -149 8776 1،401298468729e -45 2 -1074 8776 4،940656468729e -324 2 127 8729 (2-2 -23) 8776 3،402823478729e 38 2 1023 8729 (2-2 -52) 8776 1،797693138729e 308 8 . أرقام التقريب في المعيار إيي 754. في عرض أرقام النقطة العائمة في المعيار إيي 754 غالبا ما تكون الأرقام مقربة. يوفر المعيار أربع طرق لتقريب الأرقام. طرق تقريب أعداد إيي 754: التقريب يميل إلى أقرب عدد صحيح. التقريب يميل إلى الصفر. تقريب يميل إلى 8734 يميل التقريب إلى -8734 الجدول 3. أمثلة التقريب إلى عشري واحد إلى أقرب عدد صحيح كيف يتم التقريب الموضح في الأمثلة في الجدول 3. عند تحويل رقم لاختيار إحدى طرق التقريب. بشكل افتراضي، هذه هي الطريقة الأولى، التقريب إلى أقرب عدد صحيح. في كثير من الأحيان في أجهزة مختلفة باستخدام الطريقة الثانية - تقريب إلى الصفر. عند التقريب إلى الصفر، ببساطة تجاهل أرقام مستوى لا معنى له، لذلك هذا هو أسهل واحد في تنفيذ الأجهزة. 9. مشاكل الحوسبة الناجمة عن استخدام IEEE754 القياسية. ويستخدم معيار إيي 754 على نطاق واسع في الهندسة والبرمجة. يتم تصنيع معظم المعالجات الحديثة مع الأجهزة تحقيق تمثيل للمتغيرات الحقيقية في شكل IEEE754. لغة البرمجة والمبرمج لا يمكن تغيير هذا الوضع، لا يوجد عدد من العدد الحقيقي في المعالج الدقيق. عند إنشاء معيار IEEE754-1985 تمثيل متغير حقيقي في شكل 4 أو 8 بايت يبدو قيمة كبيرة جدا، لأن مقدار ذاكرة الوصول العشوائي مس-دوس يساوي 1 ميغابايت. ويمكن استخدام برنامج في هذا النظام فقط 0.64 ميغابايت. لأن أنظمة التشغيل الحديثة حجم 8 بايت هو لاغ وباطل، ومع ذلك فإن المتغيرات في معظم المعالجات الدقيقة لا تزال في شكل IEEE754-1985. النظر في الحوسبة الخطأ، والناجمة عن استخدام الأرقام في شكل IEEE754 9.1 الأخطاء المرتبطة دقة تمثيل الأرقام الحقيقية في شكل IEEE754. تخفيض خطير. هذا الخطأ موجود دائما في حسابات الكمبيوتر. ويرد وصف سبب حدوثه في الفقرة 7-4. -6 لمزدوجة 10 -14 الأخطاء المطلقة يمكن أن تكون كبيرة، كما لواحد 10 31 ومزدوجة 10 292، التي قد تسبب مشاكل مع العمليات الحسابية. إذا كان عدد العينة على الورقة، فإن الجواب هو 1. الخطأ المطلق هو 7. لماذا تحصل على إجابة خاطئة رقم 123456789 في واحد 4CEB79A3hex (إيي) 123456792 (ديك) الإبلاغ عن الخطأ المطلق هو 3 رقم 123456788 في واحد 4CEB79A2hex (إيي) 123456784 (ديك) الإبلاغ عن الخطأ المطلق هو -4 خطأ نسبي في الأرقام الأولية ما يقرب من 3،24 ه -6 ونتيجة لذلك، كانت عملية واحدة خطأ نسبي للنتيجة 800، أي بزيادة 2،5 ه 8 مرات. هذا ما أسميه تخفيض خطير. أي انخفاض كارثي في الدقة في العملية حيث القيمة المطلقة للنتيجة هي أصغر بكثير من أي من المتغيرات المدخلات. في الواقع، ودقة الخطأ للتمثيل الأكثر حميدة في حسابات الكمبيوتر، وعادة العديد من المبرمجين لا تولي أي اهتمام. ومع ذلك، فإنها يمكن أن تكون محبطة للغاية. 9.2 الأخطاء المرتبطة بالإكراه غير الصحيح لأنواع البيانات. خطأ بريء. وترجع هذه الأخطاء إلى حقيقة أن الرقم الأصلي المقدم في نسق مفرد ومزدوج في شكل لا يساوي عادة بعضها البعض. على سبيل المثال: الرقم الأصلي 123456789،123456789 واحد: 4CEB79A3 123456792،0 (ديك) مزدوج: 419D6F34547E6B75 123456789،12345679104328155517578125 الفرق بين المبلغ المفرد والمزدوج: 2،87654320895671844482421875 فيما يلي مثال ل ف: الخطأ النسبي للنتيجة هو: 8734 (اللانهاية) يسمى هذا الخطأ صفر قذرة. إذا كانت المتغيرات تؤدي إلى نفس النوع، فلن يحدث هذا الخطأ. ولذلك، فإن المتغيرات والنتائج الوسيطة للعمليات الحسابية ستقدم إلى نفس نوع البيانات. على سبيل المثال، شرط إظهار نفس النوع الموصوف في لغة C القياسية إلى إسو إيك 9899: 1999. إيلاء الاهتمام لحقيقة أن لا يكفي فقط لجلب جميع البيانات الأصلية لنوع واحد. اللازمة لتحقيق نتائج العمليات الوسيطة لنفس النوع. في ما يلي مثال على خطأ في النتيجة المتوسطة: هنا ينشأ الخطأ لأن النتيجة المتوسطة من 1 3 في السطر c c-1 3 ستكون من نوع مزدوج، وليس مفردة. للتخلص من الخطأ لديك لإعطاء نتيجة وسيطة لنوع مشغل واحد باستخدام الزهر كسنغ. مثال على جلب نوع البيانات ل غنو C، أرسلت بواسطة غريغوري سيتكاريفيم: في النسخة الثانية يمكنك أن ترى أن تقسيم الثوابت في نتيجة وسيطة تعطى لنوع تعويم (دقة واحدة في C). تم تجميع هذه الخيارات وتنفيذها باستخدام غنو C. إذا قمت بتجميع وتنفيذ الخيارات المذكورة أعلاه تظهر على فك (فيسوال ستوديو)، سيتم عكس النتائج. أي أن الخيار 2 سيكون نتيجة -9.934108 والخيار 1 النتيجة: 0.000000. وبالتالي يمكن أن يكون نتيجة مخيبة للآمال أن نتيجة الحسابات قد تعتمد على نوع وإصدار مترجم. في هذه الحالة، يمكننا أن نفترض أن مترجم فك يعطي تلقائيا أنواع المتغيرات، ومحاولة لإجبار نفس النوع فشل. إذا كان الخيار 1 (دون المدلى بها) لتلبية متغير الدقة المزدوجة (مزدوج)، ثم الخطأ لن تجلب البيانات والنتيجة 0.000000 حتى في معظم الحالات للتخلص من البيانات المدلى بها هو ببساطة لاستخدام نوع البيانات مزدوجة ونسيان حول نوع واحد (تعويم). الأخطاء الحسابية الناجمة عن عدم جلب نوع البيانات أسميه الأخطاء البرية من حيث صلتها الجهل بالمعايير ونظرية البرمجة (أي مع سوء التعليم الأساسي) 9.3 الأخطاء الناجمة عن التحول من العشري. الثقوب الدائرية. وترتبط هذه الأخطاء مع فقدان دقة النتيجة في أرقام تقاطع مانتيساس غير مكتملة على المحور الحقيقي. إذا كانت الأرقام العشرية لا تتقاطع على المحور الحقيقي، ثم الجمع والطرح بين هذه الأرقام مستحيلة. على سبيل المثال، ونحن نأخذ عدد واحد: 47FFFFFF 131071،9921875 (ديك) في النظام الثنائي، وهذا الرقم يشبه: 11111111111111111،1111111 نعرض بعض عمليات الكمبيوتر إضافة، وهذا الرقم في شكل أرقام كبيرة واحدة في رمزية من الرقم الثنائي في شكل واحد لا يزيد عن 24 أحمر يشير إلى أرقام خارج هذا الحد ولا تشارك في شكل واحد 1. إضافة مع نفس العدد (التحول الخطأ 0.0). 2. بالإضافة إلى عدد أصغر 2 أضعاف (خطأ التحول - 0.00390625). 3. إضافة مع عدد أصغر من 2 23 مرات (تحول الخطأ - 0.007812). 4. بالإضافة إلى عدد أصغر من 2 24 مرات (تحول الخطأ - 0.007812). في الحالة الأخيرة فصل العشرية من الأرقام، والعمليات الحسابية مع هذه الأرقام لا معنى لها. كما يمكن أن يرى من الأمثلة أعلاه يحدث خطأ التحول إذا كانت الأرقام تطبيع الأولية أس مختلفة. إذا كانت الأرقام تختلف بأكثر من 2 23 (للفرد) و 2 52 (لمضاعفة)، ثم الجمع والطرح بين هذه الأرقام غير ممكن. وتكون النتيجة القصوى للنسب النسبي للعملية حوالي 5،96 e-6، التي لا تتجاوز خطأ نسبي في تمثيل الرقم (p.9.1). على الرغم من أن الخطأ النسبي هنا هو كل الحق، وهناك مشاكل أخرى. أولا، العمل مع الأرقام فقط في نطاق ضيق من المحور الحقيقي، حيث تتقاطع العارضة. ثانيا، لكل مصدر من الحد من حلقة تسمى ثقب دوري. اسمحوا لي أن أشرح، إذا كان هناك دورة التي يتم إضافة الرقم الأصلي إلى المبلغ، وهناك حد عددي على المبلغ لهذا العدد. أي أن المبلغ الذي يصل إلى حجم معين يتوقف عن الزيادة عن طريق إضافته إلى الرقم الأصلي. وفيما يلي مثال على الثقوب الدورية في نظام التحكم الآلي: هناك مصنع الأدوية المنتجة أقراص تزن 10 ملغ. تتكون من: تشكيل آلة، خزان 500 كجم، آلات التعبئة والتغليف، نظام التحكم الآلي. صب آلة يغذي في القبو على 10 أقراص في وقت واحد. ملء آلة يأخذ حبة واحدة. ويأخذ نظام التحكم الأوتوماتيكي في الحسبان الأقراص التي يتم تلقيها في القبو من آلة الصب ويتم إخراجها من آلات التعبئة والتغليف. وهذا هو، هناك برنامج يظهر إنتاج حاوية ملء بالكيلوغرام. عندما يكون في القبو سيكون أكثر من 500 كجم آلة صب المنتج تقف على كسر، فإنه يتضمن رمز في القبو سيكون 200 كجم من المنتج. ملء آلة لوقف إذا كان القبو أقل من 10 جنيه وسوف تبدأ عندما القبو سيكون أكثر من 100 كجم المنتج. كل من السيارات يمكن أن تتوقف من وقت لخدمة، لا تعتمد على بعضها البعض (بفضل القبو). وفيما يلي مثال على الثقوب الدورية في نظام التحكم الآلي: هناك مصنع الأدوية المنتجة أقراص تزن 10 ملغ. تتكون من: تشكيل آلة، خزان 500 كجم، آلات التعبئة والتغليف، كما تعلمون، فإنه يعمل في حلقة لا نهاية لها. لنفترض أن آلة تعبئة يوم واحد كانت طويلة جدا وقبو مليئة بما يصل إلى 300 كجم. ماذا يحدث بعد تشغيله مثال مبسط لإدارة دورة البرنامج: في هذا المثال، تم اختيار آلة التعبئة من 100 كجم من المنتج، ولم يتغير وزن المنتجات في الخزان. لماذا لا تتغير لأن أرقام العشرية 300 و 0.00001 شكل متقطع واحد. بعد ذلك، جلب وزن آلة النطاط واثب إلى 500 كجم ووقف. ملء آلة سوف تأخذ جميع أقراص من واثب ويتوقف أيضا. البرنامج سوف تظهر وزن 500kg في المخبأ. تأتي تشغيل المتخصصين، وأجهزة الاستشعار اختبار، والأسلاك، والكمبيوتر، ويقول أن البرنامج علقت. ولكن البرنامج لا يتعطل، فإنه لا يزال بسلاسة وكل الاختيار تأكيد هذا. ببساطة عدد من 0.0001 ضرب في ثقب دوري والخروج منه لا يمكن. ونتيجة لذلك، كنا محظوظين أنه كان مصنع للأدوية، وليس سايان-شوشنسكايا جيس. في الواقع، فإن مبرمج من ذوي الخبرة أبدا إجراء الطرح الدوري (أو الجمع) في هذه الطريقة. هذا المثال هو هدف وهمية، وهكذا لا يمكن النظر فيها، على الرغم من أن من حيث الرياضيات كلها لا تشوبه شائبة. هذا الخطأ هو نموذجي للرياضيين والمبرمجين المبتدئين. أود أن أقول إن العمل الرئيسي للمبرمج هو النضال مع الأخطاء، ولكن ليس في الحل الرياضي للمشكلة. هنا مثال على الحل الصحيح لهذه المشكلة، من باب المجاملة سيتكاريفيم غريغوري: يؤخذ المثال السابق من الحزمة الصناعية الحقيقية. للتوضيح، نبسط المثال السابق. كما يمكن أن يرى من هذا المثال، مبرمج لديه لحساب الخطأ من النتيجة في كل دورة، لحساب ذلك في الدورة المقبلة. لاحظ أن مبرمج يجب أن تكون على استعداد تماما لجعل بعض المفاهيم الأساسية للرياضيات لا يمكن أن يكون راضيا في الحسابات في شكل IEEE754. على سبيل المثال، لا يتم عادة تنفيذ قواعد التبادلية الجبرية (أ) ب (أ) ج، ب في هذه الحسابات. وللأسف، فإن التعليم الأساسي اليوم لا يحظى باهتمام كبير. 9.4 أخطاء بسبب التقريب. القذرة صفر. عندما حسابات الكمبيوتر يمكن التمييز بين نوعين من التقريب: 1. نتيجة العملية الحسابية يتم تقريب دائما. 2. إخراج ومدخلات من عدد حقيقي في المربع يتم تقريب ويندوز. في الحالة الأولى، يتم تقريب المتغير إلى واحد من 4 أنواع من التقريب IEEE754، التقريب الافتراضي يحدث إلى أقرب عدد صحيح. في هذه الحالة، يتلقى المتغير قيمة مستديرة جديدة. في p.9.2 نظرنا في إضافة رقمين متطابقين: 1. إضافة مع نفس العدد (التحول الخطأ 0.0). هنا نتيجة لإضافة رقمين دقيقة تماما، ولكن تم تقريب النتيجة من قبل المعالج. وهكذا، تم إضافة النتيجة بالضبط إلى خطأ التقريب. بشكل عام، خطأ التقريب هو ضمن دقة الأرقام. في الحالة الثانية، المتغير لا يغير معناها، فقط في نافذة ويندوز يعرض قيمة مقربة من الأرقام الحقيقية. اتضح أن المتغير الأصلي وعرضه في ويندوز هو رقم مختلف. هذا ليس خطأ من IEEE754 الشكل، وهذا هو علة ويندوز. يتم عرض متغير واحد في ويندوز 7 أرقام كبيرة مقربة إلى أقرب عدد صحيح. يتم عرض مربع 3DFCD6EA 0،12345679104328155517578125 كما 0،1234568 للمتغيرات من نوع مزدوج إلى مربع ويندوز يعرض 15 أرقام كبيرة مقربة إلى أقرب عدد صحيح. 3FBF9ADD3746F67D 0،12345678901234609370352046653351862914860248565673828125 عرضها على النحو 0،123456789012346 إن مسألة كيفية متغير مهم عندما ندخل في إطار Windows 0،123456789012346 أن تكون هذه القيمة مساوية لهذا الرقم: 3FBF9ADD3746F676 0،1234567890123459965590058118323213420808315277099609375 وهذا يعني أن قيمة 3FBF9ADD3746F67D ونحن عموما لا يمكن إدراج مباشرة رمز البرنامج. ولكن يمكننا الغش واللصق في x 0.123456789012346 1 E-16. سوف يكون المتغير الناتج مساويا ل 3 FBF9ADD3746F67D (يستخدم هذا في المثال الصفر القذر) عرض أو إلى جهاز كمبيوتر من خلال النافذة عدد مستحيل. نتيجة للعمل ينشأ ويندوز عدد من الحالات غير السارة. 1. ليس لديك القدرة التقنية لعرض أو إدخال القيم الدقيقة. من المتغيرات في النوافذ، وهو في حد ذاته أمر محزن جدا. 2. ظهور أخطاء خطيرة، مثل الصفر القذرة. الصفر القذر هو عندما تقوم أنت أو البرنامج يفترض أن المتغير لا يساوي صفر - الصفر في كثير من الأحيان، يحدث هذا الخطأ في واجهة مشغل الجهاز. على سبيل المثال، بعد إعادة وزن برامج التعبئة والتغليف. نتيجة البرنامج في المثال أعلاه ونتيجة لذلك، فإن المتغير الذي يعتبره المشغل صفر - صفر لا يساوي الخطأ النسبي للنتيجة هو اللانهاية. في عمليات المقارنة المنطقية التي ليست صفرا قد يحول تنفيذ البرنامج إلى فرع آخر من الخوارزمية. 9.5 معدل الخطأ في أرقام نورمالدينورما. عدد القتلة. تحدث هذه الأخطاء عند العمل مع الأرقام الموجودة على الحدود تمثيل عدد دينورماليزد تطبيع. وهي ترتبط مع الاختلافات في تمثيل الأرقام في شكل IEEE754 ونقل صيغ الفرق في IEEE754 الأرقام الحقيقية تنسيق. أي أن الجهاز (أو البرنامج) يجب أن يستخدم خوارزميات مختلفة اعتمادا على موضع رقم حقيقي على تنسيق سطر رقم. وبالإضافة إلى ذلك، فإنه يؤدي إلى مضاعفات الأجهزة والخوارزميات، لا تزال هناك شكوك في المنطقة الانتقالية. عدم اليقين في المنطقة الانتقالية هو أن المعيار لا يحدد قيمة محددة للحدود الانتقالية. في جوهرها، والحدود الانتقالية بين اثنين من الأعداد الحقيقية: كان آخر بدون تسوية عدد 000FFFFFFFFFFFFF: قيمة عشرية دقيقة من هذا الرقم: 2،2250738585072008890245868760858598876504231122409594654935248025624400092282356951787758888037591552642309780950 4343120858773871583572918219930202943792242235598198275012420417889695713117910822610439719796040004548973919380791 9893608152561311337614984204327175103362739154978273159414382813627511383860409424946494228631669542910508020181592 6642134996606517803095075913058719846423906068637102005108723282784678843631944515866135041223479014792369585208321 5976210663754016137365830441936037147783553066828345356340050740730401356029680463759185831631242245215992625464943 0083685186171942241764645513713542013221703137049658321015465406803539741790602258950302350193751977303094576317321 0852507299305089761582519159720757232455434770912461317493580281734466552734375e-308 وأول عدد تطبيع 0010000000000000: فا عشري دقيق LUE هذا العدد: 2،2250738585072013830902327173324040642192159804623318305533274168872044348139181958542831590125110205640673397310 3581100515243416155346010885601238537771882113077799353200233047961014744258363607192156504694250373420837525080665 0616658158948720491179968591639648500635908770118304874799780887753749949451580451605050915399856582470818645113537 9358049921159810857660519924333521143523901487956996095912888916029926415110634663133936634775865130293717620473256 3178148566435087212282863764204484681140761391147706280168985324411002416144742161856716615054015428508471675290190 3161322778896729707373123334086988983175067838846926092773977972858659654941091369095406136467568702398678315290680 984617210924625396728515625e-308 منذ الحدود هو العدد الحقيقي، دقتها يمكن تعيين إلى ما لا نهاية والأجهزة الرقمية أو برنامج قد لا يكون الشيء لقرار لتشمل بعض مجموعة من رقم. على سبيل المثال، علة 53632 ل فب، والتي تسببت في حالة من الذعر في أوائل عام 2011 لوت هتبلغت لتفب d 2.2250738585072011e-308 غ نهاية لتبوبيغت لتتملغت أدخل رقم 2.2250738585072011e-308 تسبب في تعليق العملية مع ما يقرب من 100 وحدة المعالجة المركزية الحمل. أرقام أخرى من هذه المجموعة من المشاكل لا تسبب (2.2250738585072009e-308، 2.2250738585072010e-308، 2.2250738585072012e-308) تقرير عن علة وردت 30.12.2010، 10.01.2011 ثابتة من قبل المطور. منذ فب هو يستخدم قبل المعالج من قبل معظم الملقمات، ثم أي شبكة المستخدم في غضون 10 يوما، وكان قادرا على إغلاق أي المضيف. كيفية كتابة المطورين أن علة يعمل فقط في أنظمة 32 بت، ولكن إذا قمت بزيادة دقة الحدود، ثم أعتقد أن أنظمة 64 بت، أيضا، شنق (لم يتم التحقق منها). سبب الذعر واضح: أي مستخدم، على مستوى معين من الاجتهاد والمعرفة، أتيحت له الفرصة لخفض معظم موارد المعلومات من الكوكب في غضون عشرة أيام. لا أود - سوف يؤدي إلى مزيد من الأمثلة على هذه الأرقام ومثل هذه الأخطاء. 10 الجزء النهائي من ما سبق، من الواضح أن الرأي القائل بأن نتيجة النقطة العائمة لا يتجاوز الخطأ النسبي في الإبلاغ عن أكبر عدد هو خطأ. تتم إضافة الأخطاء المدرجة في البند 9 معا. مثل هذه الأخطاء كما القذرة وخطير الصفر الحد يمكن أن تجعل أخطاء الحساب غير مقبولة. اهتمام خاص في برمجة الحسابات الكمبيوتر مبرمج ينبغي أن تدفع إلى نتائج قريبة من الصفر. ويعتقد بعض الخبراء أن شكل الأرقام يمثل تهديدا للبشرية. يمكنك أن تقرأ عن ذلك في المادة IEEE754 القراد يهدد البشرية على الرغم من أن العديد من الحقائق في هذه المادة الإفراط في دراماتيزد، وربما سوء تفسيرها، ولكن المشكلة هي الحوسبة تعكس بشكل صحيح فلسفيا. إم لا دراماتيكية الحسابات على المعيار IEEE754. معيار التشغيل منذ عام 1985 ودخلت بالكامل في معيار IEEE754-2008، الذي وسع دقة الحسابات. ومع ذلك، فإن مشكلة الموثوقية الحوسبة اليوم أمر ملح للغاية، و IEEE754-2008 القياسية والتوصيات إسو لم تحل هذه المشكلة. أعتقد في هذا المجال بحاجة إلى فكرة مبتكرة أن المطورين معيار IEEE754-2008 للأسف لا تملك. الأفكار المبتكرة تأتي عادة من. جعلت الأفكار المبتكرة الرئيسية في عالمنا من قبل الهواة (مثل التفكير الناس ليس من أجل المال). ومن الأمثلة الصارخة على هذا الوضع اختراع الهاتف. عندما جاء مدرس المدرسة الكسندر جراهام بيل (الكسندر جراهام بيل) مع براءة اختراع لاختراع الهاتف لرئيس شركة الاتصالات شركة ويسترن يونيون، التي يملكها اتصال عبر الأطلسي كابل مع عرض لشراء براءات الاختراع له ل اختراع الهاتف، وقال انه لم يطرد - لا. وعرض رئيس تلك الشركة النظر في هذه المسألة بمشورة الخبراء في مجال البرق، والتي تتألف من المتخصصين والباحثين في مجال الاتصالات السلكية واللاسلكية. وأعرب الخبراء عن رأيهم بأن هذا الاختراع لا طائل منه في مجال الاتصالات السلكية واللاسلكية وأنه لا جدوى منه. بل إن بعض الخبراء قد كتبوا تقريرا بأن تسيركاتشيستفو والدبلوماسية نبسب نبسب ألكسندر غراهام بيل، جنبا إلى جنب مع والده في القانون، قررت بشكل مستقل لتعزيز اختراعه. بعد حوالي 10 عاما، والأعمال التجارية الاتصالات السلكية واللاسلكية شركة ويسترن يونيون شركة القضاء تقريبا الهاتف الأعمال من مجال تكنولوجيات الاتصالات السلكية واللاسلكية. اليوم يمكنك أن ترى في العديد من المدن الروسية النوافذ التي تقول ويسترن يونيون، هذه الشركة التي تعمل في تحويل الأموال في جميع أنحاء العالم، وبمجرد أن كانت شركة الاتصالات الدولية العملاقة. يمكننا أن نستنتج: آراء الخبراء في التقنيات المبتكرة لا طائل منها إذا كنت تعتقد أنه منذ اختراع الهاتف (1877) في أذهان الناس أن شيئا قد تغير، كنت خاطئا. إذا كان العلماء (الذين يخترعون جديدة) والمهنيين (الذين يعرفون كيفية استخدام معروفة) لا يمكن أن تحل المشكلة، تحتاج الابتكار. روابط لأفكار جديدة في مجال تمثيل الأرقام الحقيقية في الأجهزة: 1. أبروكسيمتيكا 2. إذا كنت تعرف من الأفكار المبتكرة الأخرى في مجال تمثيل الأرقام الحقيقية، ثم سنكون سعداء للحصول على وصلات لهذه المصادر. وأقترح أن تمثل الأرقام الحقيقية كنقطة ثابتة. لعرض مجموعة كاملة من الأرقام مضاعفة بما فيه الكفاية ليكون متغير يتكون من 1075 بت جزء صحيح و 1075 بت من جزء كسري، أي حوالي 270 بايت لكل متغير. في هذه الحالة، سيتم عرض جميع الأرقام بنفس الدقة المطلقة. يمكنك العمل مع الأرقام في مجموعة كاملة المحور الحقيقي، وهذا هو، يصبح من الممكن تلخيص أعداد كبيرة من الأرقام الصغيرة. أرقام الخطوة على المحور الحقيقي هو موحد، وهذا هو المحور الحقيقي هو الخطية. وسيكون نوع البيانات واحد فقط، أي لا تحتاج إلى كامل، وأنواع حقيقية وغيرها. هنا المشكلة هي تحقيق سجلات المعالجات البعد من 270 بايت، ولكن ليست مشكلة بالنسبة للتكنولوجيا الحديثة. لكتابة p.9 اضطررت إلى إنشاء برنامج يمثل عددا كمتغير إلى نقطة ثابتة، 1075.1075 بايت طويلة. حيث يمكن تمثيل الرقم كسلسلة من الأحرف أسي، أي رمز واحد يساوي رقما واحدا. كان فقط لكتابة جميع العمليات الحسابية مع سلاسل أسي. هذا البرنامج مشابه لحساب الورق. وبما أن المعالج الرياضي القدرة في ذلك لا تستخدم، وقالت ببطء. لماذا فعلت ذلك لم أتمكن من العثور على البرنامج الذي يمكن أن تمثل بدقة عدد تنسيق IEEE754، في شكل عشري. كما أنني لم أجد البرنامج (على الرغم من أنها بالتأكيد ما لا شك فيه) حيث يمكنك إدخال في مربع 1075 من الأرقام العشرية كبيرة. هنا على سبيل المثال فقط القيمة العشرية عدد 7FEFFFFFFFFFFFFF مزدوج: 17976931348623157081452742373170435679807056752584499659891747680315726078002853876058955 863276687817154045895351438246423432132688946418276846754670353751698604991057655128207624 549009038932894407586850845513394230458323690322294816580855933212334827479782620414472316 8738177180919299881250404026184124858368،0 يمكنك استخدام v.1.0 نبسب IEEE754 لدراسة وتقييم الأخطاء عند التعامل مع الأرقام الحقيقية التي وردت في شكل IEEE754. المراجع: 1. إيي القياسية الثنائية العائمة نقطة الحسابية. حقوق الطبع والنشر 1985 من قبل معهد المهندسين الكهربائية والإلكترونيات، وشركة 345 شرق 47 شارع، نيويورك، نيويورك 10017، الولايات المتحدة الأمريكية شكر وتقدير: سيتكاريفو غريغوري (sitkarevkomitex. ru، sinclair80gmail). للمساعدة في إنشاء مقالة. أرشيف المراجعات مع التعليقات نبسب عرض نبسبنبسب (أرسل لنا ردود الفعل على البريد الإلكتروني: infosoftelectro. ru) ثنائي تحويل ملاحظات تتضمن هذه الملاحظات معلومات أكثر مما هو مطلوب ل مغف 1107. يمكن للطلاب مغف 1107 تجاهل كل شيء عن الكسور الثنائية، الإصدار الثنائي من التدوين العلمي، والأرقام السداسية العشرية عند قراءة ما يلي. ونحن نستخدم فقط الأعداد الصحيحة الثنائية في مغف 1107. ثنائي إلى التحويل العشري ويتم ذلك من خلال تطبيق تعريف قيم المكان لرقم ثنائي، وتقييم كل واحد في قاعدة عشرة. على سبيل المثال، نقوم بتحويل 1001 اثنين من ثنائي إلى عشري كما يلي: وهو 9 عشرة. معظم الناس يجدون أن هذا هو أسهل من اثنين من التحويلات. يتم التعامل مع الكسور مع الأسس السلبية لكل قيمة مكان كسور، تماما كما هو الحال مع الأرقام العشرية، لذلك نحن تحويل 0.11 اثنين من ثنائي إلى عشري من خلال الاعتراف الذي يعطي 0.75 عشرة. لا تشمل الواجبات المنزلية مغف 1107 أمثلة مع الكسور الثنائية. عشري إلى تحويل ثنائي يتم الحصول على جزء صحيح (العمل من اليمين إلى اليسار) من خلال تقسيم متكرر من قبل اثنين (الذي يحول نقطة ثنائية إلى اليسار)، والحفاظ على ما تبقى كما الرقم ثنائي المقبل واستخدام عدد صحيح حاصل للخطوة التالية . نتوقف عندما يكون الحاصل صفرا. (أسهل طريقة للحصول على جزء صحيح هو استخدام ميزة تحويل عرافة الحاسبة وتحويل سداسي عشري إلى ثنائي، ولكن نحن لا تستخدم الآلات الحاسبة في هذه الوحدة.) يتم الحصول على جزء كسري (تعمل الآن من اليسار إلى اليمين) بواسطة وتكرار ضرب من قبل اثنين (الذي يحول نقطة ثنائية إلى اليمين)، والحفاظ على جزء صحيح كعدد ثنائي المقبل واستخدام جزء كسري للخطوة التالية. لا توجد اختصارات سهلة للجزء كسور، ولكن مشاهدة لأي نمط تكرار. يمكننا كتابة النتيجة كعدد ثنائي العائمة تطبيع مع عدد من الاتفاقيات أن العشري (سيغنيفيكاند) هو بين 1 و 2 - وهذا هو، العفريت هو من شكل 1.ffffff. 1. تحويل 11 عشرة إلى ثنائي: يتم تحويل عدد صحيح من قبل و هو 1011 اثنين. (هذا هو 1.011 × 2 3 بمثابة رقم العائمة تطبيع.) 2. تحويل 5.75 عشرة إلى ثنائي: يتم العثور على جزء صحيح من قبل و هو 101 اثنين. تم العثور على جزء كسري من قبل هذا الرقم هو 101.11 اثنين. (هذا هو 1.0111 × 2 2 كعدد نقطة العائمة تطبيع.) 3. تحويل 0.1 عشرة إلى ثنائي: تم العثور على جزء كسري بذلك الرقم هو 0.0001100110011. اثنين (هذا هو 1.10011001. x 2 -4 كما تطبيع العائمة رقم نقطة.) عشري أرقام عشري - سداسي عشري - الجدول الثنائي طريق العودة في 1950s، وقد بنيت إلياك في جامعة إلينوي (أوربانا شامبين) باستخدام سيكساديسيمال نظام رقم. ومع ذلك، فإنها تحسب. 8، 9، K، S، N، J، F، L بدلا من استخدام. 8، 9، A، B، C، D، E، F كما نفعل اليوم. وقد اختاروا تلك الرسائل (التي تذكرت باستعمال النغمات المتناغمة من النوع K أوست أو L أوغس) لأنها أثبتت أنها الأكثر ملاءمة عندما قامت بتحويل تيليتيب لاستخدامها للكم الشريط الورقي المستخدم في إو. (هذه المعلومات من J. ساذرلاند الإطار، أستاذ فخري في الرياضيات في جامعة ولاية ميشيغان، مبرمج في وقت مبكر من استنساخ 1957 من إلياك المعروفة باسم ميستيك، وكلاهما في الأسرة أوردفاك من أجهزة الكمبيوتر.) (جانبا: المشجعين من 2001: تذكر أوديسي الفضاء أن جهاز الكمبيوتر هال-9000 تم بناؤه في شامبين-أوربانا، وهذا يعكس الدور التاريخي الذي قامت به جامعة إلينوي في تطوير أجهزة الكمبيوتر في وقت مبكر مع بناء إلياك. بالإضافة إلى ذلك، على الرغم من أن الجميع يعرف أن هال هو روت 25 من عب، الرقم التسلسلي يعكس التسلسل المستخدم من قبل كونترول داتا، الذي كان 6000 سلسلة آلات العملاق في منتصف 60s عندما تم إجراء عام 2001. وكان كراي -1 كان آلة سلسلة 8000، ولكن سدك اختار تصميم ستار الذي أدى إلى سايبر-205 و كراي شكلت شركته الخاصة. كوبريك خمنت عن الحق في وضع آلة سلسلة 9000 التي يمكن أن نتحدث في أوائل 90s - ولدت هال على 11292 - ولكن شخص ما نسيت الماوس.) هذه المواد هو 169 حقوق الطبع والنشر 2000, by James Carr. Displaying IEEE Doubles in Binary Scientific Notation By Rick Regan emspJuly 1st, 2010 An IEEE double-precision floating-point number, or double, is a 64-bit encoding of a rational number. Internally, the 64 bits are broken into three fields: a 1-bit sign field, which represents positive or negative an 11-bit exponent field, which represents a power of two and a 52-bit fraction field, which represents the significant bits of the number. These three fields 8212 together with an implicit leading 1 bit 8212 represent a number in binary scientific notation, with 1 to 53 bits of precision. For example, consider the decimal number 33.75. It converts to a double with a sign field of 0, an exponent field of 10000000100, and a fraction field of 0000111000000000000000000000000000000000000000000000. The 0 in the sign field means it8217s a positive number (1 would mean it8217s negative). The value of 10000000100 in the exponent field, which equals 1028 in decimal, means the exponent of the power of two is 5 (the exponent field value is offset, or biased, by 1023). The fraction field, when prefixed with an implicit leading 1, represents the binary fraction 1.0000111. Written in normalized binary scientific notation 8212 following the convention that the fraction is written in binary and the power of two is written in decimal 8212 33.75 equals 1.0000111 x 2 5 . In this article, I8217ll show you the C function I wrote to display a double in normalized binary scientific notation. This function is useful, for example, when verifying that decimal to floating-point conversions are correctly rounded . Subnormal Numbers In double-precision floating-point, most numbers are represented in normalized form, with an implicit 1 bit giving 53 bits of precision. However, very small numbers 8212 the so-called subnormal numbers 8212 are represented in unnormalized form, with no implicit leading 1 bit and zero to 51 leading zeros of fraction field. These numbers are encoded with an exponent field of zero, with their true exponent equal to -1022 minus the location of the first 1 bit in their fraction field. This means that subnormal numbers are scaled by powers of two in the range 2 -1074 through 2 -1023. with accompanying precision of one to 52 bits. Although subnormal numbers are encoded as unnormalized, they can still be written as normalized. For example, the decimal number 1e-310 converts to a subnormal double with a sign field of 0, an exponent field of 00000000000, and a fraction field of 0000000100100110100010001011011100001110011000101011. This can be printed as 1.00100110100010001011011100001110011000101011 x 2 -1030 8212 which is what my C function does. I wrote a function called printdoublebinsci() that prints double-precision floating-point numbers in normalized binary scientific notation. It is based on a call to my function parsedouble(). which isolates the three fields of a double. I declared and defined this function in files I named binsci. h and binsci. c, respectively. Numbers that are not raised to a power are printed with the suffix ldquox 20rdquo. Not-a-number (NaN) and infinity values are not handled. Examples of Usage I wrote a program, called binsciTest. c, that shows some example calls to printdoublebinsci(): I compiled and ran it on both Windows and Linux: On Windows, I built a project in Visual C with files binsci. c, binsci. h, binsciTest. c, rawdouble. c, and rawdouble. h, and compiled and ran it in there. On Linux, I compiled with ldquogcc binsciTest. c binsci. c rawdouble. c - o binsciTestrdquo and then ran it with 8220.binsciTest8221. This is the Windows output (the Linux output is a little different Visual C and gcc differ in some of their decimal to floating-point conversions): Except for 33.75, which is exact, all the other examples are 53 significant bit approximations to the decimal numbers they stand in for (type lsquo0.1rsquo into my decimal to binary converter and see for yourself).
Comments
Post a Comment