Дробові числа в двійковій системі числення

У будь-якій системі числення потрібно вміти представляти не тільки цілі числа, а й дробові. З математичної точки зору це ординарна завдання, яка давно вирішена. Однак з точки зору комп'ютерної техніки це далеко не тривіальна проблема, багато в чому пов'язана з архітектурою комп'ютера. Ресурси комп'ютерів не нескінченні, і основною складністю є уявлення періодичних і неперіодичних дробів. Отже, такі дроби слід округляти, задавати клас точності беруть участь (і можуть з'явитися в результаті обчислень!) Чисел без втрати точності обчислень, а також стежити за тим, щоб втрата точності не відбулася при перекладі чисел з однієї системи числення в іншу. Особливо важливо акуратно робити обчислення при операціях з плаваючою точкою.

Запишемо формулу уявлення дрібного числа в позиційній системі числення:

У разі десяткової системи числення одержимо:

Переклад дробового числа з двійкової системи числення в десяткову проводиться за наступною схемою:

Переклад дробового числа з десяткової системи числення в двійкову здійснюється за наступним алгоритмом:

  • Спочатку перекладається ціла частина десяткового дробу в двійкову систему числення;

  • Потім дрібна частина десяткового дробу множиться на основу двійкової системи числення;

  • В отриманому творі виділяється ціла частина, яка приймається як значення першого після коми розряду числа в двійковій системі числення;

  • Алгоритм завершується, якщо дрібна частина отриманого твори дорівнює нулю або якщо досягнута необхідна точність обчислень. В іншому випадку обчислення тривають з попереднього кроку.

    Приклад: Потрібно перевести дробове десяткове число 206,116 в дробове двійкове число.

    Переклад цілої частини дає 20610 = 110011102 по раніше описаним алгоритмам; дробову частину множимо на підставу 2. заносячи цілі частини твору в розряди після коми шуканого дробового двійкового числа:


    .116 • 2 = 0 .232 .232 • 2 = 0 .464 .464 • 2 = 0 .928 .928 • 2 = 1 .856 .856 • 2 = 1 .712 .712 • 2 = 1 .424 .424 • 2 = 0 .848 .848 • 2 = 1 .696 .696 • 2 = 1 .392 .784 • 2 = 0 .784 і т.д.

    Таблицю ступенів перших восьми негативних ступенів двійки можна подивитися в Додатку.