JavaRush /مدونة جافا /Random-AR /الأعداد الحقيقية في ذاكرة الكمبيوتر توضيح.
Marianna
مستوى
Москва

الأعداد الحقيقية في ذاكرة الكمبيوتر توضيح.

نشرت في المجموعة
مساء الخير أثناء دراسة محاضرة "الفروق الدقيقة في العمل مع الأعداد الحقيقية" للمهمة الأولى (القسم 2. بنية أرقام الفاصلة العائمة) ومحاضرات إضافية حول هذا الموضوع، لا بد أن الكثيرين واجهوا العديد من الأسئلة حول هذا الموضوع. في البداية، حاولت أن أقدم لنفسي الإجابات اللازمة، والآن أقدمها لك لمساعدتك على الفهم الكامل بترتيب منطقي متسق. 1. أنظمة الأعداد العشرية والثنائية. 1.1 يعد نظام الأعداد العشرية أحد أكثر الأنظمة شيوعًا، فهو الذي نستخدمه في أي حسابات رياضية غير حاسوبية في المدرسة أو الجامعة أو في الحياة. يستخدم الأرقام 1، 2، 3، 4، 5، 6، 7، 8، 9، 0 (باللغة العربية) - 10 أرقام إجمالاً. هناك أيضًا تدوين روماني للأرقام، ومع ذلك، لا يتم استخدامه عمليًا الآن. في النظام العشري، يتم العد بالوحدات، العشرات، المئات، الآلاف، عشرات الآلاف، مئات الآلاف، الملايين، إلخ. - بمعنى آخر، هذه جميع أرقام الرقم. رقم الرقم هو موضع (مكان) الرقم في سجل الأرقام. أدنى رقم من الأعداد الطبيعية (والأقل أهمية ) هو رقم الوحدات (أقصى اليمين). لماذا هو الأكثر أهمية؟ لأنه بإسقاط رقم الوحدة من الرقم، سيتغير الرقم نفسه إلى الحد الأدنى (على سبيل المثال، الرقمان 345 و340). وبعد ذلك، الرقم الثاني هو رقم العشرات، وما إلى ذلك. ماذا يعني كل هذا؟ لنأخذ أي عدد صحيح في النظام العشري ونقوم بتحليله إلى أرقام . 3297 = 3*1000 + 2*100 + 9*10 + 7 وهكذا نجد أن الرقم 3297 يحتوي على 3 وحدات من الرقم الرابع (أي 3 آلاف) و 2 وحدة من الرقم الثالث (2 مائتين) و9 وحدات من الرقم الثاني (9 عشرات) و 7 وحدات من الرقم الأول . وبعبارة أخرى، هذا العدد هو ثلاثة آلاف ومئتان وسبعة وتسعون ، وهو بالتالي موضعي . ماذا عن أرقام الأعداد الكسرية (الحقيقية) ؟ تسمى أرقام الأعداد الكسرية (الجزء الكسري منها): أعشار، أجزاء من مائة ، أجزاء من ألف، أجزاء من عشرة آلاف، إلخ. كلما كان الرقم أبعد عن العلامة العشرية (من الجزء بأكمله من الرقم)، كلما كان أقل أهمية (التخلص منه، ستتغير قيمة الرقم قليلاً). على سبيل المثال، لنأخذ أي رقم كسري معروض ككسر عشري: 25.076 = 2*10 + 5 +0*0.1 + 7*0.01 +6*0.001 وهكذا نجد أن العدد الكسري 25.076 يحتوي على 2 عشرات، 5 وحدات، 0 أعشار ، 7 أجزاء من مائة و 6 أجزاء من الألف. يستخدم النظام العشري 10 أرقام ومضاعفات 10 منازل - ومن هنا جاء اسم "النظام العشري". 1.2 نظام الأرقام الثنائية هو نظام أرقام يستخدم في جميع أجهزة الكمبيوتر الحديثة تقريبًا وأجهزة الكمبيوتر الإلكترونية الأخرى. لتسجيل الأرقام، يستخدم رقمين فقط - 0 و 1. وحتى لا يتم الخلط بين نظام الأرقام الذي تم كتابة الرقم به، يتم تزويده بمؤشر في أسفل اليمين (وهو أساس نظام الأرقام )، من أجل مثال: 1000₁₀ 1000₂ هنا الرقم الأول هو الألف المألوفة في النظام العشري، والرقم السفلي هو الرقم في تمثيل النظام الثنائي وهو مساوٍ في النظام العشري... 8 ! مثل النظام العشري، يقوم النظام الثنائي أيضًا بتقسيم الأرقام إلى أرقام . كل رقم في رقم ثنائي يسمى بت (أو رقم ). (إذا كان أي شخص مهتمًا، فإن أربع بتات عبارة عن عاب (أو رباعي)، و8 بتات هي بايت ، و16 بتات هي كلمة ، و32 بتات هي كلمة مزدوجة ). يتم أيضًا ترقيم البتات (الأرقام) من اليمين إلى اليسار، بدءًا من الصفر (على عكس النظام العشري). البتة اليمنى الأقل أهمية والأقل أهمية لها رقم تسلسلي قدره 0 . بعد ذلك تأتي البتة الأولى ، والثانية ، وما إلى ذلك، وكلما كانت البتة أقدم ، كانت أكثر أهمية (من خلال القياس مع النظام العشري، نفهم ذلك - إذا قمت بإزالة الآحاد من الرقم 1455، فسوف يتبقى لك الرقم 1450 - تساوي تقريبًا القيمة الأولية، ولكن إذا قمت بإزالة المئات، فسوف يتبقى لك الرقم 1050، وهو بالفعل بعيد عن القيمة الأولية، لأن خانة المئات أكثر أهمية بكثير (ترتيب عالي) من خانة الآحاد ). مثال. لا تقرأ بعد :))) الأرقام الحقيقية في ذاكرة الكمبيوتر.  تحت التطوير!!!  - 2 في الأسفل، يتم ترقيم بتات هذا الرقم الثنائي الكسري باللون الأحمر - في المجموع لدينا 18 بت (رقمًا) من هذا الرقم. بالنظر إلى المستقبل، أود أن أشير إلى أنه يتم تخزين الأرقام الكسرية بطريقة مختلفة تمامًا في ذاكرة الكمبيوتر - وسيتم مناقشة ذلك لاحقًا. في غضون ذلك، دعونا نتعلم كيفية تحويل الأرقام من نظام أرقام إلى آخر. 2. تحويل الأعداد الصحيحة والكسور من النظام العشري إلى النظام الثنائي وبالعكس. 2.1 التحويل من العشري إلى الثنائي. 2.1.1 الأعداد الصحيحة. من أجل تحويل رقم عشري صحيح إلى نظام الأرقام الثنائية، تحتاج إلى تقسيم هذا الرقم على 2، وكتابة باقي القسمة (هو دائمًا يساوي 0 أو 1، اعتمادًا على ما إذا كان الرقم زوجيًا أو فرديًا) ، واقسم نتيجة القسمة مرة أخرى على 2، ثم اكتب مرة أخرى باقي القسمة (0 أو 1)، واقسم نتيجة القسمة الثانية على 2 مرة أخرى، واستمر بهذه الطريقة حتى تصبح نتيجة القسمة واحدًا. بعد ذلك، نكتب جميع الأصفار والآحاد الناتجة بترتيب عكسي ، بدءًا من نتيجة القسمة الأخيرة، والتي تساوي دائمًا 1. ملاحظة مهمة. النتيجة النهائية للتقسيم التسلسلي لأي عدد صحيح على 2 ستكون دائمًا واحدًا (1)! إذا كانت النتيجة أكبر من 1، نستمر في قسمة هذه النتيجة على 2 حتى نحصل على نتيجة واحدة. ويمكن أن تكون نتيجة القسمة على 2 صفر (0) في حالة واحدة فقط - وهي قسمة الصفر نفسه على 2. مثال. دعونا نحول الرقم 145 من النظام العشري إلى النظام الثنائي. 145/2 = 72 (الباقي 1 ) 72/2 = 36 (الباقي 0 ) 36/2 = 18 (الباقي 0 ) 18/2 = 9 (الباقي 0 ) 9/2 = 4 (الباقي 1 ) 4/2 = 2 (الباقي 0 ) 2/2 = 1 (الباقي 0 ) الآن نقوم "بجمع" رقمنا الثنائي بترتيب عكسي. لقد حصلنا على الرقم 10010001. انتهينا! فارق بسيط مثير للاهتمام 1. دعنا نحول الرقم 1 من النظام العشري إلى النظام الثنائي. في النظام الثنائي، سيتم كتابة هذا الرقم أيضًا كـ 1. بعد كل شيء، النتيجة النهائية للقسمة على 2، والتي يجب أن تساوي 1، تساوي بالفعل الرقم 1 نفسه. 1₁₀ = 1₂ فارق بسيط مثير للاهتمام 2. دعونا نحول الرقم 0 من النظام العشري إلى الثنائي. في النظام الثنائي، سيتم أيضًا كتابة هذا الرقم كـ 0. 0₁₀ = 0₂ 2.1.2 أرقام كسرية. كيفية تحويل الأرقام الكسرية إلى ثنائية؟ لتحويل كسر عشري إلى نظام الأرقام الثنائية، يجب عليك: أ) تحويل الجزء الكامل من الكسر إلى النظام الثنائي وفقًا للخوارزمية المدروسة في الفقرة 2.1.1 ب) ضرب الجزء الكسري من الكسر بـ 2 ، اكتب الرقم الناتج من النتيجة قبل العلامة العشرية (يساوي دائمًا 0 أو 1، وهو أمر منطقي)، ثم اضرب فقط الجزء الكسري من النتيجة التي تم الحصول عليها بـ 2، ثم اكتب مرة أخرى الرقم الناتج من النتيجة قبل العلامة العشرية (0 أو 1) وهكذا حتى الكسر يصبح جزء من نتيجة الضرب يساوي 0 أو حتى العدد المطلوب من المنازل العشرية ( الدقة المطلوبة ) (يساوي عدد الضرب في 2). ثم تحتاج إلى كتابة التسلسل الناتج من الأصفار والواحدات المكتوبة بالترتيب بعد النقطة التي تفصل بين العدد الصحيح والأجزاء الكسرية للرقم الحقيقي (الكسري). مثال 1. دعونا نحول الرقم 2.25 (2 فاصل 25 جزء من مائة) من النظام العشري إلى النظام الثنائي. في النظام الثنائي سيكون الكسر مساوياً لـ 10.01 . كيف حصلنا على هذا؟ يتكون الرقم من جزء صحيح (حتى نقطة ما) - وهذا هو 2 وجزء كسري - وهو 0.25. 1) ترجمة الجزء كله: 2/2 = 1 (الباقي 0 ) الجزء كله سيكون 10 . 2) ترجمة الجزء الكسري. 0.25 * 2 = 0 .5 (0) 0.5 * 2 = 1 .0 (1) أصبح الجزء الكسري يساوي 0 نتيجة الضرب المتتالي في 2. نتوقف عن الضرب. الآن نقوم "بجمع" الجزء الكسري بالترتيب - نحصل على 0.01 في النظام الثنائي. 3) أضف العدد الصحيح والأجزاء الكسرية - نحصل على أن الكسر العشري 2.25 سيكون مساويا للكسر الثنائي 10.01 . مثال 2. دعونا نحول الرقم 0.116 من النظام العشري إلى النظام الثنائي. 0.116 * 2 = 0.232 (0) 0.232 * 2 = 0.464 (0) 0.464 * 2 = 0.928 (0) 0.928 * 2 = 1.856 (1) // تجاهل الجزء الصحيح من هذه النتيجة 0.856 * 2 = 1 .712 (1) ) // تجاهل الجزء الكامل من هذه النتيجة 0.712 * 2 = 1 .424 (1) // تجاهل الجزء الكامل من هذه النتيجة 0.424 * 2 = 0 .848 (0) كما نرى، فإن الضرب يستمر ويستمر ، الجزء الكسري من النتيجة لا يصبح مساويًا للصفر. ثم نقرر أننا سنحول الكسر العشري الخاص بنا إلى ثنائي بدقة 7 منازل عشرية (بت) بعد النقطة (في الجزء الكسري). دعونا نتذكر ما درسناه عن البتات غير المهمة - فكلما كانت البتة (البتة) بعيدة عن الجزء بأكمله، كان من الأسهل علينا إهمالها (الشرح في القسم 1 من المحاضرة، من نسي). نحصل على الكسر الثنائي 0.0001110 بدقة 7 بت بعد النقطة. 2.2 التحويل من الثنائي إلى العشري. 2.2.1 الأعداد الصحيحة. لترجمة كاملرقم من نظام الأرقام الثنائية إلى النظام العشري، فمن الضروري تقسيم هذا الرقم إلى أرقام (بت) وضرب كل رقم (بت) بالرقم 2 إلى درجة موجبة معينة (تبدأ هذه الدرجة بالعد من اليمين إلى اليسار من الأقل أهمية (البت الصحيح) ويبدأ من 0 ). بمعنى آخر، قوة اثنين تساوي عدد البتات المعطاة (ولكن لا يمكن استخدام هذه القاعدة غير المكتوبة إلا في حالة تحويل الأعداد الصحيحة، حيث أنه بالنسبة للأعداد الكسرية، يبدأ ترقيم البتات في الجزء الكسري، والذي يتم ترجمته في النظام العشري بشكل مختلف ). بعد ذلك تحتاج إلى إضافة المنتجات الناتجة. مثال. دعونا نحول الرقم الثنائي 110011 إلى نظام الأرقام العشري. 110011₂ = 1*2⁵ + 1*2⁴ + 0*2³ + 0*2² + 1*2¹ + 1*2° = 32 +16 +0 + 0 + 2 + 1 = 51₁₀ ونتيجة لذلك، حصلنا على الرقم 51 في النظام الثنائي. وللعلم يوجد أدناه جدول للقوى الأولى للرقم 2 . لا تقرأ بعد :))) الأرقام الحقيقية في ذاكرة الكمبيوتر.  تحت التطوير!!!  - 5 ! يرجى ملاحظة أن القوة الصفرية لأي رقم تكون دائمًا 1. 2.2.2 الأرقام الكسرية. من أجل تحويل رقم كسري ثنائي (حقيقي) إلى رقم عشري ، يجب عليك: أ) تحويل الجزء الصحيح الخاص به إلى رقم عشري وفقًا للخوارزمية من الفقرة 2.2.1 ؛ ب) ترجمة الجزء الكسري على النحو التالي. من الضروري تقديم الجزء الكسري كمجموع منتجات الأرقام في اثنين ، مرفوعًا إلى قوة سالبة معينة (قوة الرقم الأول بعد النقطة (بعد الجزء الكامل من الكسر) ستكون مساوية -1، لأن الرقم الثاني بعد النقطة سيكون مساوياً لـ -2، إلخ.) ستكون النتيجة أن هذا المبلغ هو الجزء الكسري من الرقم في النظام العشري. مثال. دعونا نحول الرقم 10111.01 إلى النظام الثنائي. 10111.01₂ = (1*2⁴ + 0*2³ + 0*2² + 1*2¹ + 1*2°) . (0*2ˉ¹ + 1*2ˉ²) = (16 + 0 + 4 + 2 + 1) . (0 + 0.25) = 23.25₁₀ ونتيجة لذلك نحصل على الرقم 23.25 في نظام الأرقام العشري. ويرد أدناه جدول القوى السلبية الأولى من 2. لا تقرأ بعد :))) الأرقام الحقيقية في ذاكرة الكمبيوتر.  تحت التطوير!!!  - 7 2.2.3 الصيغة العامة لتحويل الأرقام من الثنائي إلى العشري. دعونا نعطي صيغة عامة لتحويل الأرقام من ثنائي إلى عشري (كل من الأجزاء الصحيحة والكسرية). لا تقرأ بعد :))) الأرقام الحقيقية في ذاكرة الكمبيوتر.  تحت التطوير!!!  - 4 حيث A هو رقم في نظام الأرقام الثنائية؛ أساس نظام الأرقام هو 2 (أي أنه يتم ضرب كل بت في 2 أس)؛ ن— عدد الأرقام الصحيحة (البتات) ؛ m هو عدد الأرقام الكسرية (البتات) للرقم . يتم تمييز الجزء الأول من الجزء الصحيح من نقطة التقسيم باللون الأحمر . ويتم ضربه دائمًا في 2 أس صفر. يتم ضرب البت التالي قبله (على اليسار) بـ 2 مرفوعًا للقوة الأولى، وما إلى ذلك. يتم تمييز الجزء الأول من الجزء الكسري من نقطة التقسيم باللون الأخضر . يتم ضربه دائمًا بـ 2 أس ناقص القوة الأولى. يتم ضرب البت التالي إلى اليمين بـ 2 أس ناقص الثانية، وما إلى ذلك. 3. التدوين العلمي: تدوين طبيعي في كلا النظامين. العشري، الأس، درجة الأس. 3.1 الشكل الأسي لكتابة الرقم. لقد قمنا سابقًا بدراسة مخطط تفصيلي لتسجيل الأرقام الموضعية بالأرقام. لنأخذ الرقم 0.000000000000000000016 . لديها إدخال طويل جدًا في النموذج القياسي . وفي الصورة الأسية ستبدو هكذا: 1.6 * 10ˉ²¹ فما هي الصورة الأسية للرقم وكيفية تمثيل الرقم بهذه الصورة؟ التدوين العلمي للرقم هو تمثيل للأعداد الحقيقية على شكل العشري والأس . مناسب لتمثيل الأعداد الكبيرة والصغيرة جدًا، وكذلك لتوحيد كتابتها. N = M * pⁿ حيث N هو الرقم المراد كتابته، M هو الجزء العشري من الرقم، p هو القاعدة (يساوي قاعدة نظام الأرقام للرقم المحدد)، n (عدد صحيح) هو الترتيب (الدرجة ) ، يمكن أن تكون موجبة وسالبة)، p أس n هي الأرقام المميزة (الأس، أي القاعدة مرفوعة إلى قوة (ترتيب)). فارق بسيط مهم. إذا كان الجزء الصحيح من الرقم العشري مختلفًا عن 0 ، فإن ترتيب (درجة) الأس سيكون موجبًا ، إذا كان الجزء الصحيح يساوي 0 ، ستكون درجة الأس سالبة . 3.2 الشكل العادي والمطبيع لكتابة الأرقام. الشكل الطبيعي للرقم هو الشكل الذي يقع فيه الجزء العشري (دون مراعاة الإشارة) على نصف الفاصل [0,1]، أي 0 <= M < 1. هذا الشكل من الكتابة له العيب : تتم كتابة بعض الأرقام بشكل غامض (على سبيل المثال، 0.0001 يمكن كتابتها كـ 0.000001*10²، 0.00001⋅10¹، 0.0001⋅10°، 0.001⋅10ˉ¹ وما إلى ذلك). لذلك، هناك شكل آخر من التسجيل واسع الانتشار (خاصة في علوم الكمبيوتر) - طبيعي ، حيث يأخذ الجزء العشري للرقم العشري القيم من 1 (شاملاً) إلى 10 (حصريًا)، أي 1 <= M < 10 (وبالمثل، يأخذ الجزء العشري للرقم الثنائي القيم من 1 إلى 2 ). بمعنى آخر، يجب أن يكون الجزء العشري في النظام العشري رقمًا كسريًا من 1.0 (شاملاً) إلى 10 (حصريًا) ، أي. يجب أن يحتوي الجزء الصحيح من الجزء العشري على رقم واحد، والجزء الكسري ليس محدودًا رياضيًا. تتمثل ميزة النموذج المقيس في أنه يتم كتابة أي رقم (باستثناء 0) بطريقة فريدة. العيب هو أنه من المستحيل تمثيل 0 بهذا الشكل، لذلك فإن تمثيل الأرقام في علوم الكمبيوتر يوفر إشارة خاصة (بت) للرقم 0. 3.3 أمثلة على كتابة الأعداد العشرية بالشكل الأسي المطبيع. دعونا نلقي نظرة على الأمثلة. مثال 1. لنكتب الرقم العشري 1015000 (مليون وخمسة عشر ألفًا) بالشكل الأسي المطبيع. نظام الأرقام لهذا الرقم هو نظام عشري، وبالتالي فإن الأساس سيكون 10 . دعونا نختار الجزء العشري . للقيام بذلك، تخيل الرقم ككسر، الجزء الكسري منه سيكون مساوياً للصفر (نظراً لأن الرقم عدد صحيح): 1000000.0. إذا كان الجزء الصحيح من الرقم أكبر من 0 ، فقم بتحريك النقطة إلى يسار موضعها الأولي (داخل الجزء الصحيح) حتى يتبقى رقم واحد فقط في الجزء الصحيح . بعد ذلك نضع فترة. نتخلص من الأصفار غير المهمة (في نهاية الرقم). نحصل على الجزء العشري من الرقم يساوي 1.015 . دعونا نحدد درجة (ترتيب) قاعدة الرقم. ما عدد المواضع إلى اليسار التي تحركت فيها النقطة التي تفصل بين الأجزاء الصحيحة والكسرية؟ لستة مناصب. وهذا يعني أن الطلب سيكون 6 . وفي هذه الحالة يكون الترتيب موجبًا (قمنا بتحريك النقطة في الجزء الصحيح من الرقم الذي لا يساوي 0). الإدخال النهائي في النموذج الطبيعي: 1.015 * 10⁶ . يمكننا كتابة هذا الرقم بهذه الصورة: 1.015E6 (حيث E6 هو أس الرقم العشري، أي 10 أس 6). دعونا نختبر أنفسنا. التدوين الأسي للرقم ليس أكثر من منتج رقم (الجزء العشري) ورقم آخر (الأس). ماذا يحدث إذا ضربت 1.015 في 10⁶؟ 1.015*10⁶ = 1.015*1000000 = 1015000 . صحيح. يساعد هذا الأسلوب (المطبيع) في إنشاء سجل لا لبس فيهالأرقام في الشكل الأسي، كما هو مبين أعلاه. مثال 2. لنكتب العدد الحقيقي العشري 0.0098 في الصورة الطبيعية. دعونا نسلط الضوء على أساس الرقم - وهو يساوي 10 (نظام الأرقام العشرية). دعونا نختار الجزء العشري من الرقم - وهو يساوي 9.8 (الجزء الصحيح من الرقم يساوي صفر، مما يعني أننا ننقل النقطة إلى اليمين إلى أول رقم مهم (يقع في النطاق من 1 إلى 9 ضمناً) نحدد ترتيب العدد - قمنا بتحريك النقطة بثلاثة مواضع، مما يعني أن الترتيب هو 3. موجب هل هو سالب أم سالب؟ وبما أننا قمنا بتحريك النقطة إلى اليمين (في الجزء الكسري من الرقم)، فإن سيكون الترتيب (القوة) سالبًا . السجل النهائي للرقم في الصورة الطبيعية هو 9.8 * 10ˉ³ أو 9.8E-3 . دعونا نتحقق من أنفسنا مرة أخرى. اضرب 9.8 في 10ˉ³. 9.8 * 10ˉ³ = 9.8 * 0.001 = 0.0098 . هذا صحيح. مثال 3. لنكتب العدد الحقيقي العشري 3.56 بالشكل الطبيعي، حدد أساس الرقم - فهو يساوي 10 (نظام الأرقام العشري). حدد الجزء العشري للرقم - وهو يساوي... 3.56 (العدد الصحيح) جزء من الرقم يتكون من رقم واحد، لا يساوي 0. وهذا يعني أن النقطة لا تحتاج إلى إزاحتها في أي مكان، والرقم نفسه سيكون الجزء العشري.) دعونا نسلط الضوء على ترتيب القاعدة: بأي رقم يجب أن يكون الجزء العشري ، يساوي العدد نفسه، أن تتضاعف حتى لا يتغير؟ لكل وحدة. هذا يعني أن الترتيب سيكون صفراً. السجل النهائي للرقم في النموذج الطبيعي هو 3.56 * 10 درجة أو 3.56E0. 4. تخزين الأعداد الحقيقية في ذاكرة الحاسوب: التعويم والمضاعف. 4.1 الأنواع العائمة والمزدوجة. دعنا ننتقل إلى القسم الرئيسي من محاضرتنا. كما نعلم بالفعل، هناك نوعان من الأعداد الحقيقية في Java: float و double . يحتل النوع العائم 32 بت في ذاكرة الكمبيوتر ويمكن أن يأخذ قيمًا في النطاق [3.4E-38; 3.4E+38) (وبعبارة أخرى، في النطاق من 3.4*10ˉ³⁸ (شامل) إلى 3.4*10³⁸ (باستثناء)). فارق بسيط مهم 1. يمكن أن تكون الأرقام العائمة إيجابية أو سلبية. تم تقديم هذا النطاق أعلاه للإشارة إلى وحدات الأرقام المضمنة في النطاق العائم. فارق بسيط مهم 2. 10³⁸ يساوي تقريبًا 2¹²⁷ ، على التوالي، 10 ˉ³⁸ يساوي تقريبًا 2ˉ¹²⁷ . وبالتالي، يمكن كتابة الفاصل الزمني للقيم المطلقة للأعداد العائمة بالشكل [3.4 * 2ˉ¹²⁷; 3.4 * 2¹²⁷). النوع المزدوج يستهلك ضعف ذاكرة الكمبيوتر -64 بت ويمكنه قبول القيم العشرية في النطاق [-1.7E+308; 1.7E+308) على التوالي. 4.2 الشكل المطبيع الأسي للأرقام الثنائية. نحن نعلم أن الأرقام يتم تخزينها في شكل ثنائي في ذاكرة الكمبيوتر. لذا، فلنأخذ الرقم 1560.256 (النوع العائم) ونحوله إلى النظام الثنائي بالشكل الموضعي: 11000011000.01000001100 . قد تعتقد أن هذه هي الطريقة التي سيتم بها تخزينها في ذاكرة الكمبيوتر. ولكن هذا ليس صحيحا! في ذاكرة الكمبيوتر، يتم تخزين الأنواع float و double ( أنواع الفاصلة العائمة الحقيقية ) في شكل أسي طبيعي ، ولكن أساس القوة هو 2 بدلاً من 10. ويرجع ذلك إلى حقيقة أنه، كما ذكرنا أعلاه، جميع البيانات الموجودة في ذاكرة الكمبيوتر يتم تمثيل الكمبيوتر في شكل ثنائي (بت). يتم تخصيص قدر معين من ذاكرة الكمبيوتر لعدد ما. لنمثل الرقم الموجب 15.2 بالشكل الأسي الطبيعي: 1.52*10¹ . بعد ذلك، دعونا نمثل "التوأم" الثنائي 1111.00110011001 أيضًا بالتدوين الأسي الطبيعي، باستخدام نفس الخوارزمية: 1) القاعدة ستكون مساوية لـ 2 2) الجزء العشري سيكون مساويًا لـ 1.11100110011001 3) ستكون الدرجة موجبة وتساوي 3 (يتم إزاحة النقطة 3 بت إلى اليسار) في النظام العشري. لنحوله إلى النظام الثنائي : 11 . لذلك في الصيغة الثنائية الأسية المعدلة سيكون 1.11100110011001 * 2¹¹. 4.3 تخزين الشكل الثنائي المقيس الأسي للرقم العائم في ذاكرة الكمبيوتر. لذلك، توصلنا إلى أنه سيتم تخزين الرقم الحقيقي في ذاكرة الكمبيوتر في شكل ثنائي مطبيع أسي . كيف سيبدو في الذاكرة؟ لنأخذ النوع العائم . يخصص الكمبيوتر 32 بت لكل رقم عائم . وهي موزعة على النحو التالي . يوضح هذا الشكل بشكل تخطيطي الذاكرة المخصصة لرقم عائم 32 بت في جهاز الكمبيوتر. لا تقرأ بعد :))) الأرقام الحقيقية في ذاكرة الكمبيوتر.  تحت التطوير!!!  - 5 يشار إلى ترقيم البت باللون الأحمر . يشير اللون الأخضر إلى جزء من الذاكرة المخصصة (بت واحد) لتخزين إشارة الرقم. يشير اللون الأصفر إلى جزء من الذاكرة المخصصة لتخزين الطاقة (الترتيب) المتغيرة للشكل الأسي للرقم (8 بت). أزرقيشير إلى جزء من الذاكرة المخصصة لتخزين الجزء العشري الطبيعي لرقم بدون وحدة ضمنية (23 بت). دعونا نلقي نظرة فاحصة. 1) بت التوقيع. يتم دائمًا تخصيص البت الأكثر أهمية (الأول من اليسار) لتخزين إشارة الرقم (1 إذا كان الرقم سالبًا، و0 إذا كان الرقم موجبًا). قد يكون الاستثناء هو الرقم صفر - في البرمجة، يمكن أن يكون الصفر سالبًا وموجبًا . 2) تأتي بعد ذلك أجزاء الدرجة (الترتيب) للأس ذو الأساس 2 . لهذا، يتم تخصيص 8 بت. درجة الأس للأرقام العائمة ، كما نعلم، يمكن أن تكون سالبة (للأرقام التي جزءها الصحيح هو 0، راجع الفقرة 3.3) وإيجابية (للأرقام التي يختلف جزءها الصحيح عن الصفر) وتتراوح من 2ˉ¹²⁷ إلى 2¹²⁷ . من الناحية النظرية، يجب أن نخصص بتة واحدة لتحديد إشارة الأس، كما هو الحال مع بتة الإشارة. ولكن هذا ليس صحيحا. لكي لا نضيع بعض الوقت في تحديد إشارة الأس، تضيف الأرقام العائمة إزاحة للأس بمقدار نصف بايت +127 (0111 1111). وبالتالي، بدلاً من نطاق من القوى من 2ˉ¹²⁷ إلى 2¹²⁷، يقوم الكمبيوتر بتخزين نطاق من القوى من 0 إلى +254 - جميع قيم الطاقة إيجابية ، ليست هناك حاجة لإضاعة بايت إضافي على الإشارة. وتبين أن قيمة الأس قد تم إزاحتها بمقدار النصف بالنسبة إلى القيمة المحتملة. هذا يعني أنه للحصول على القيمة الفعلية للأس، يجب عليك طرح هذه الإزاحة من القيمة المخزنة في الذاكرة. إذا كانت قيمة الأس المخزنة في الذاكرة أقل من الإزاحة (+127)، فإن الأس يكون سالبًا: وهذا منطقي. مثال. دعونا نؤدي تحولا من الدرجة السلبية -18 . نضيف إليها الإزاحة +127، ونحصل على قيمة الدرجة +108 (لا تنس الدرجة 0 في الحساب). دعونا نحول الدرجة إلى شكل ثنائي: 1101100 ولكن يتم تخصيص 8 بتات من الذاكرة للدرجة، وهنا نحصل على رقم 7 بت. وبدلاً من الرقم العالي الفارغ وغير المشغول (البت)، يضيف الكمبيوتر 0. والنتيجة هي أن هذه الدرجة سيتم تخزينها في ذاكرة الكمبيوتر على أنها 01101100 . لنرى: +108 < +127، مما يعني أن الدرجة في الحقيقة سالبة. خذ بعين الاعتبار الجدول المثير للاهتمام التالي: يعرض جميع القيم الممكنة لقوى الأشكال الطبيعية للأعداد العائمة في الأنظمة الثنائية والعشرية. كما نرى، في النظام الثنائي +127 هو بالضبط نصف البايت الكامل (8 بتات). 3) يتم حجز البتات الـ 23 المتبقية للجزء العشري لا تقرأ بعد :))) الأرقام الحقيقية في ذاكرة الكمبيوتر.  تحت التطوير!!!  - أحد عشر. لكن بالنسبة للأجزاء العشرية الثنائية المقيسة، فإن الجزء الأكثر أهمية (ويعرف أيضًا باسم الجزء الصحيح من الأجزاء العشرية المقيسة) يساوي دائمًا 1 (يسمى الضمني واحد )، نظرًا لأن عدد الأجزاء العشرية يقع في النطاق 1<=M<2 (و وتذكر أيضًا الفقرة 2.1.1 من المحاضرة). الاستثناء الوحيد هو الرقم 0. ليس من المفيد كتابة وحدة في الـ 23 بت المخصصة وإهدار الذاكرة، لذلك يتم كتابة الجزء المتبقي من الجزء العشري (الجزء الكسري) في الـ 23 بت المخصصة. لقد اتضح أن الجزء المهم من الرقم العائم يبلغ طوله 24، ويتم تخزين بتة واحدة منه. فارق بسيط مهم. دعونا نتذكر أنه عند تحويل الأرقام الكسرية العشرية إلى أرقام ثنائية، غالبًا ما يكون الجزء الكسري في النظام الثنائي ضخمًا. ولدينا 32 بت فقط لتخزين رقم عائم. في هذه الحالة، لن يتم تضمين الأرقام الأدنى والأقل أهمية من الكسر الثنائي (تذكر الفقرة 2.1.2 من هذه المحاضرة) في الذاكرة المخصصة وسيهملها الكمبيوتر . سيتم فقدان دقة الرقم ، ولكن كما ترى، فهو في حده الأدنى. بمعنى آخر، دقة الأعداد الكسرية هي 6-7 منازل عشرية. 4.4 تخزين الشكل الثنائي المقيس الأسي للرقم المزدوج في ذاكرة الكمبيوتر. يتم تخزين الأعداد الحقيقية من النوع المزدوج في ذاكرة الكمبيوتر بنفس طريقة تخزين الأعداد العائمة، باستثناء بعض الخصائص. يحتوي الرقم المزدوج على 64 بت في ذاكرة الكمبيوتر. يتم توزيعها على النحو التالي (أيضًا بالترتيب من اليسار إلى اليمين): 1) بتة الإشارة (انظر الفقرة 4.3). نحن نفهم أن عدد هذه البتة سيكون 63 . 2) الدرجة (الترتيب). يتم تخصيص أرقام مزدوجة 11 بت لتخزينها . يتم أيضًا إجراء تحول في الدرجة ، ولكن بالنسبة للأعداد المزدوجة سيكون مساويًا لـ +1023. 3) الجزء العشري (جزء مهم). يتم تخصيص أرقام مزدوجة 52 بت (أرقام) لتخزينها. كما أن الجزء الصحيح الدقيق من الجزء العشري ( الوحدة الضمنية ) لا يتم تخزينه في الذاكرة . ومن الجدير بالذكر أيضًا أن دقة الزوجي الكسري تبلغ حوالي 16 منزلة عشرية . 4.5 أمثلة على تمثيل العدد الحقيقي للنظام العشري في ذاكرة الكمبيوتر. والنقطة الأخيرة في محاضرتنا ستكون مثالاً لتحويل عدد كسري من نظام الأرقام العشري إلى شكل تخزينه في ذاكرة الكمبيوتر لتعزيز فهم الموضوع. مثال 1. خذ رقما-4.25 نوع تعويم. دعونا نعرضها في شكل أسي مطبيع في نظام الأعداد الثنائية، متذكرين كل ما تناولناه في هذه المحاضرة. 1) تحويل الجزء الصحيح من الرقم إلى شكل ثنائي: 4/2 = 2 (باقي القسمة 0 ) 2/2 = 1 (باقي القسمة 0 ) الجزء الصحيح سيكون مساوياً لـ 100 في النظام الثنائي. 2) تحويل الجزء الكسري من الرقم إلى شكل ثنائي. 0.25*2 = 0.5 ( 0 ) 0.5*2 = 1.0 ( 1 ) الجزء الكسري يساوي 0.01 في النظام الثنائي. 3) وبالتالي، -4.25₁₀ = -100.01₂ . 4) دعونا نحول الرقم -100.01₂ إلى الصيغة الأسية الطبيعية في نظام الأرقام الثنائية (مما يعني أن أساس القوة سيكون 2). -100.01₂ = -1.0001 *2² فلنحول قيمة الدرجة من التنسيق العشري إلى التنسيق الثنائي . 2/2= 1 (الباقي 0 ) الدرجة هي 10₂. لقد حصلنا على أن الرقم -4.25₁₀ في صيغته الثنائية الأسية سيكون مساويًا لـ -1.0001 * 2¹º دعنا نكتب كيف سيبدو في ذاكرة الكمبيوتر. ستكون بتة الإشارة 1 (رقم سالب). إزاحة الأس تساوي 2+127 = 129₁₀ = 10000001₂ نقوم بإزالة الواحد الضمني من الجزء العشري ، ونحصل على 00010000000000000000000 ( نملأ البتات ذات الترتيب المنخفض غير المشغولة بالأصفار ). الحد الأدنى. 1 10000001 0001000000000000000000 - هكذا يتم تخزين الرقم -4.25 في ذاكرة الكمبيوتر. مثال 2. قم بتحويل الرقم العائم 0.75₁₀ إلى تنسيق تخزين ثنائي في ذاكرة الكمبيوتر. يجب أن تكون النتيجة 0 01111110 10000000000000000000000 . أشكر لك إهتمامك.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION