یک عدد اعشاری را به قالب باینری IEEE 754 تبدیل کنید

نویسنده: John Pratt
تاریخ ایجاد: 15 فوریه 2021
تاریخ به روزرسانی: 1 جولای 2024
Anonim
اعشاری به IEEE 754 نمایش نقطه شناور
ویدیو: اعشاری به IEEE 754 نمایش نقطه شناور

محتوا

برخلاف انسان ، رایانه ها از سیستم اعداد اعشاری استفاده نمی کنند. آنها از یک سیستم اعداد دودویی یا باینری با دو رقم ممکن 0 و 1 استفاده می کنند. بنابراین اعداد در IEEE 754 (استاندارد IEEE برای نمایش اعداد دودویی با یک نقطه شناور) بسیار متفاوت از سیستم اعشاری سنتی نوشته می شوند عادت داشتن. در این مقاله شما یاد خواهید گرفت که چگونه یک عدد را با دقت یک یا دو برابر با توجه به IEEE 754 بنویسید. برای این روش شما باید بدانید که چگونه اعداد را به شکل باینری تبدیل کنید. اگر نمی دانید چطور این کار را انجام دهید ، می توانید این کار را با مطالعه مقاله تبدیل باینری به اعشاری یاد بگیرید.

گام برداشتن

  1. دقت یک یا دو را انتخاب کنید. هنگام نوشتن یک عدد با دقت یک یا دو ، مراحل دستیابی به موفقیت موفق برای هر دو یکسان خواهد بود. تنها تغییر در تبدیل نما و مانتیسا اتفاق می افتد.
    • ابتدا باید بفهمیم دقت واحد به چه معناست. در نمایش نقطه شناور ، هر عددی (0 یا 1) "بیت" در نظر گرفته می شود. بنابراین ، یک دقت واحد دارای مجموع 32 بیت است که به سه موضوع مختلف تقسیم شده است. این افراد از یک علامت (1 بیت) ، یک نماد (8 بیت) و یک مانتیسا یا کسر (23 بیت) تشکیل شده اند.
    • از طرف دیگر ، دقت دو برابر دارای همان تنظیم و سه قسمت یک دقت واحد است - تنها تفاوت در این است که عدد بزرگتر و دقیق تری خواهد بود. در این حالت علامت 1 بیت ، نمایشگر 11 بیت و مانتیسا 52 بیت خواهد داشت.
    • در این مثال ما می خواهیم عدد 85.125 را با توجه به IEEE 754 به تک دقت تبدیل کنیم.
  2. عدد را قبل و بعد از اعشار جدا کنید. عددی را که می خواهید تبدیل کنید بردارید و آن را جدا کنید تا یک عدد کامل و یک عدد اعشاری برای شما باقی بماند. در این مثال ، ما عدد 85125 را فرض می کنیم. می توانید این عدد را به عدد صحیح 85 و رقم اعشاری 0.125 تقسیم کنید.
  3. کل عدد را به یک عدد باینری تبدیل کنید. این 85 از 85.125 می شود ، که با تبدیل به باینری 1010101 می شود.
  4. قسمت اعشاری را به عدد باینری تبدیل کنید. این 0.125 از 85.125 است که در قالب باینری 0.001 می شود.
  5. دو قسمت از عددی را که به اعداد دودویی تبدیل شده اند با هم ترکیب کنید. عدد 85 باینری است به عنوان مثال 1010101 و قسمت اعشاری 0.125 باینری 0.001 است. اگر آنها را با یک رقم اعشار ترکیب کنید ، 1010101.001 به عنوان آخرین پاسخ دریافت می کنید.
  6. عدد باینری را به نت علمی دودویی تبدیل کنید. می توانید عدد را به علامت گذاری علمی دودویی تبدیل کنید و نقطه اعشاری را به سمت چپ بکشید تا وقتی که در سمت راست بیت اول قرار دارد. این اعداد نرمال می شوند ، به این معنی که بیت پیشرو همیشه 1 خواهد بود. در مورد نماد ، تعداد دفعاتی که اعشار را جابجا می کنید ، همان نماد علمی دودویی است.
    • به یاد داشته باشید ، انتقال اعشار به سمت چپ یک نمایشگر مثبت ایجاد می کند ، در حالی که انتقال اعشار به سمت راست ، یک نمایشگر منفی ایجاد می کند.
    • در مثال ما ، باید اعشاری را شش بار حرکت دهید تا به سمت راست بیت اول برسد. قالب حاصل می شود 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}علامت شماره را مشخص کنید و آن را به صورت باینری نمایش دهید. اکنون مثبت یا منفی بودن شماره اصلی را تعیین خواهید کرد. اگر عدد مثبت است ، آن بیت را 0 و اگر منفی است ، 1 بنویسید. از آنجا که عدد اصلی 85.125 مثبت است ، آن بیت را به صورت 0 بنویسید. اکنون این بیت اولین بیت از 32 بیت با دقت دقیق شماست ارائه مطابق با IEEE 754.
    • توان را بر اساس دقت تعیین کنید. تعصب ثابت برای دقت تک و دوگانه وجود دارد. تعصب نما برای دقت منفرد است 127، به این معنی که ما باید نمایشگر باینری پیدا شده قبلی را اضافه کنیم. بنابراین نمایی که می خواهید استفاده کنید این است 127 + 6 = 133.
      • همانطور که از نام آن پیداست ، دقت مضاعف دقیق تر است و می تواند تعداد بیشتری را در خود جای دهد. از این رو ، تعصب نماینده 1023. مراحل مشابهی که برای تک دقت استفاده می شود در اینجا اعمال می شود ، بنابراین نمایی که می توانید برای تعیین دقت دو برابر استفاده کنید 1029 است.
    • نماد را به باینری تبدیل کنید. بعد از اینکه نماینده نهایی خود را تعیین کردید ، باید آن را به باینری تبدیل کنید تا بتواند در تبدیل IEEE 754 استفاده شود. در مثال ، شما می توانید 133 را که در مرحله آخر پیدا کرده اید به 10000101 تبدیل کنید.
    • مانتیسا را ​​تعیین کنید. جنبه مانتیسا یا قسمت سوم تبدیل IEEE 754 ، باقیمانده عدد بعد از اعشار از علامت گذاری باینری علمی است. شما فقط عدد 1 را در مقابل حذف کرده و قسمت اعشاری عدد را که در دو ضرب می شود کپی کنید. بدون تبدیل باینری لازم است! در مثال ، مانتیسا 010101001 از می شود 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}در آخر ، سه قسمت را در یک عدد ترکیب کنید.
      • سرانجام ، شما در تبدیل خود هر آنچه را که تاکنون محاسبه کرده ایم ، ترکیب می کنید. ابتدا عدد با 0 یا 1 شروع می شود که در مرحله 7 بر اساس علامت تعیین کردید. در مثال شما با 0 شروع می کنید.
      • سپس شما نمایی را دارید که در مرحله 9 تعیین کرده اید. در مثال ، نماد 10000101 است.
      • سپس مانتیسا ، سومین و آخرین قسمت تبدیل می شود. این را قبلاً هنگام برداشتن قسمت اعشاری تبدیل باینری استنباط کردید. در مثال ، مانتیسا 010101001 است.
      • در آخر ، همه این اعداد را با یکدیگر ترکیب می کنید. سفارش نشانه-نما-مانتیساست. پس از اتصال این سه عدد باینری ، بقیه قسمت مانتیسا را ​​با صفر پر کنید.
      • به عنوان مثال ، تبدیل 85.125 به قالب باینری IEEE 754 راه حل است 0 10000101 01010100100000000000000.