Переведення чисел з однієї СЧ в іншу

Вибір СЧ впливає на виконання алгоритмів і на структуру вузлів і блоків обчислювальної техніки (ОТ). Найбільш розповсюдженою на практиці є десяткова позиційна однорідна СЧ, в якій основ числення р=10, а xiє{0, …, 9}. Для подання інформацій в ОТ використовують двійкову і двійково кодовані СЧ в яких р=2j, де j=1, 2, 3, 4.

Переваги двійкової СЧ:

простота, висока надійність, висока швидкодія обчислювальних засобів для подання даних і виконання операцій.

Висновок: отже існує необхідність у перетворенні (переведенні) чисел з однієї СЧ в іншу.

Правило 1.

Для переведення цілої частини числа необхідно виконати послідовний ряд ділення початкового числа X(p) на основу (r) результативної СЧ за правилом виконання операції СЧ з основою p. Для переведення дробової частини числа необхідно виконати послідовний ряд множення дробової частини початкового числа X(p) на нову основу відокремлюючи отримані цілу частину, послідовність яких відповідає значенню цифр дробової частини результативного числа.

Приклад: перевести десяткове число75,364(10) у двійкову СЧ.

Ціла частина: Дробова частина:

75:2=37+1 0,364*2=0,728

37:2=18+1 0,728*2=1,456

18:2=9+0 0,456*2=0,912

9:2=4+1 0,912*2=1,824

4:2=2+0

2:2=1+0

1:2=0+1

Відповідь: 75,364(10)=1001011 ,0101(2)

Ваги перших десяти позицій (розрядів) двійкового числа мають такі значення:

1024 512 256 128 64 32 16 8 4 2 1
210 29 28 27 26 25 24 23 22 21 20

У двійковому числі двійкова цифра в розряді називається біт. Зазвичай двійкове число записують так, що найбільший значущий біт (самий старший двійковий розряд) є крайнім зліва.

Правило 2.

Тут для переведення цілих чисел виконується послідовне множення початкового числа X(p) на основу р та, додавання отриманого значення до цифри наступного розряду і т.д. у результативній СЧ. Аналогічна процедура виконується для дробових чисел починаючи з молодшої цифри, з заміною множення діленням.

Приклад: перевести двійкове число 1011011110(2) у десяткову СЧ.

1011011110(2)

1*2=2+0

2*2=4+1

5*2=10+1

11*2=22+0

22*2=44+1

45*2=90+1

91*2=182+1

183*2=366+1

367*2=734+0

Відповідь: 1011011110(2)=734.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *