Конвертирайте десетично число в двоичен формат IEEE 754

Автор: John Pratt
Дата На Създаване: 15 Февруари 2021
Дата На Актуализиране: 1 Юли 2024
Anonim
003 :: Проблема конвертирования десятичной дроби в формат с плавающей точкой IEEE-754
Видео: 003 :: Проблема конвертирования десятичной дроби в формат с плавающей точкой IEEE-754

Съдържание

За разлика от хората, компютрите не използват десетичната бройна система. Те използват двоична или двоична бройна система с две възможни цифри, 0 и 1. Така че числата се пишат много по-различно в IEEE 754 (стандарт на IEEE за представяне на двоични числа с плаваща запетая), отколкото в традиционната десетична система, която ние да се използва за. В тази статия ще научите как да пишете число с единична или двойна точност съгласно IEEE 754. За този метод трябва да знаете как да конвертирате числа в двоична форма. Ако не знаете как да направите това, можете да научите това, като изучите статията Преобразуване на двоичен в десетичен.

Стъпвам

  1. Изберете единична или двойна точност. Когато пишете число с единична или двойна точност, стъпките към успешно преобразуване ще бъдат еднакви и за двете. Единствената промяна се извършва при преобразуване на експонентата и мантисата.
    • Първо трябва да разберем какво означава единична точност. При представяне с плаваща запетая всяко число (0 или 1) се счита за „бит“. Следователно една прецизност има общо 32 бита, разделени на три различни обекта. Тези обекти се състоят от знак (1 бит), степен (8 бита) и мантиса или фракция (23 бита).
    • Двойната точност, от друга страна, има същата настройка и същите три части като единична прецизност - единствената разлика е, че ще бъде по-голямо и по-точно число. В този случай знакът ще има 1 бит, експонентата 11 бита, а мантисата 52 бита.
    • В този пример ще преобразуваме числото 85.125 в единична точност съгласно IEEE 754.
  2. Отделете числото преди и след десетичната запетая. Вземете числото, което искате да преобразувате, и го разделете, така че да останете с цяло число и десетично число. В този пример приемаме числото 85 125. Можете да разделите това на цяло число 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.