Смекни!
smekni.com

Перетворення кодів з однієї системи числення в іншу (стр. 3 из 4)

(4)

Даним способом зручно користуватися при переведенні в десяткову систему числення з інших систем, зважаючи на те, що при цьому використовується десяткова арифметика.

Виконаємо перевірку отриманих вище результатів перекодування з десяткової системи числення:

Умова 2:

= 111010102 = 3528 = EA16,
.

Перевірку здійснимо за три етапи:

1)

= 111010102,

2)

= 3528,

3)

= EA16,

Всі три результати однакові і рівні взятому із завдання числу

= 23410. Це свідчить, що пряме перекодування чисел, що було виконано першим способом, дало правильні результати.

3-й спосіб перекодування чисел.

Даний спосіб доцільно використовувати при перекодуванні чисел між системами числення з основою

, де

(тобто основи систем, з якої і в яку переводиться число, повинні бути кратні 2).

Стосовно поставленої умови задачі, що вирішується, за допомогою цього способу може бути здійснено пряме перекодування числа

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

Умова 3:

= 111010102,
.

Для виконання вказаного перекодування необхідно вміти поставити у відповідність будь-якій цифрі алфавітів

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

Таблиця 3 – Відповідність цифр алфавітів

та
цифрам алфавіту
.

цифри

,

цифри

,

цифра

цифра

цифра

цифра

цифра

цифра

0

000*

0

0000

8

1000

1

001

1

0001

9

1001

2

010

2

0010

A(10)

1010

3

011

3

0011

B(11)

1011

4

100

4

0100

C(12)

1100

5

101

5

0101

D(13)

1101

6

110

6

0110

E(14)

1110

7

111

7

0111

F(15)

1111

*У більшості випадків нулі в старших розрядах двійкових чисел ігноруються (наприклад, справедлива наступна рівність 0000112 = 0112 = 112). Таким чином, при тій чи іншій потребі, можна як додавати нулі в старші розряди, так і нехтувати зайвими нулями в старших розрядах двійкового числа.

Для перекодування необхідно, починаючи з 0-го розряду (крайня цифра справа), розбити двійкове число на групи цифр по

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

Таким чином, виконаємо перетворення з двійкової системи числення у вісімкову і шістнадцяткову та навпаки:

Умова 3.1:

= 111010102,
.

Такі перетворення виконуються за чотири етапи:

1)

= 111010102,
(пряме перекодування).

,

де 0112 = 38, 1012 = 58, 0102 = 28 (див. табл. 3 враховуючи, що

8 та
=3).

2)

= 3528,
(перевірка результату першого етапу).

,

де 38 = 0112, 58 = 1012, 28 = 0102 (див. табл. 3, враховуючи, що

8 та
=3).