Смекни!
smekni.com

Теоретичні основи інформатики та компютерної техніки (стр. 3 из 4)

Тому найпоширенішою для подання чисел у пам'яті комп'ютера є двійкова система числення. Для зображення чисел у цій системі необхідно дві цифри: 0 і 1, тобто достатньо двох стійких станів фізичних елементів. Ця система є близькою до оптимальної за економічністю, і крім того, таблички додавання й множення в цій системі елементарні.

Оскільки 23=8, а 24=16 , то кожних три двійкових розряди зображення числа утворюють один вісімковий, а кожних чотири двійкових розряди - один шістнадцятковий. Тому для скорочення запису адрес та вмісту оперативної пам'яті комп'ютера використовують шістнадцяткову й вісімкову системи числення.

В процесі налагодження програм та в деяких інших ситуаціях у програмуванні актуальною є проблема переведення чисел з однієї позиційної системи числення в іншу. Якщо основа нової системи числення дорівнює деякому степеню старої системи числення, то алгоритм переводу дуже простий: потрібно згрупувати справа наліво розряди в кількості, що дорівнює показнику степеня і замінити цю групу розрядів відповідним символом нової системи числення. Цим алгоритмом зручно користуватися коли потрібно перевести число з двійкової системи числення у вісімкову або шістнадцяткову. Наприклад, 101102=10 110=268, 10111002=101 1100=5C8

у двійковому відбувається за зворотнім правилом: один символ старої системи числення заміняється групою розрядів нової системи числення, в кількості рівній показнику степеня нової системи числення. Наприклад, 4728=100111 010=1001110102, B516=1011 0101=101101012

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

Алгоритми переведення чисел з однієї позиційної системи числення в іншу.

Для переведення чисел із системи числення з основою p в систему числення з основою q, використовуючи арифметику нової системи числення з основою q, потрібно записати коефіцієнти розкладу, основи степенів і показники степенів у системі з основою q і виконати всі дії в цій самій системі. Очевидно, що це правило зручне при переведенні до десяткової системи числення.

Наприклад:

з шістнадцяткової в десяткову:

92C816=9*10163+2*10162+C*10161+8*10160=

9*16103+2*16102+12*16101+8*16100=37576

з вісімкової в десяткову:

7358=7*1082+3*1081+5*1080= 7*8102+3*8101+5*8100=47710

з двійкової в десяткову:

1101001012=1*1028+1*1027+0*1026+1*1025+0*1024+0*1023+1*1022+0*1021+1*10

20=1*2108+1*2107+0*2106+1*2105+ 0*2104+0*2103+1*2102+0*2101+ 1*2100=42110

Для переведення чисел із системи числення з основою p в систему числення з основою q з використанням арифметики старої системи числення з основою p потрібно:

- для переведення цілої частини:

o послідовно число, записане в системі основою p ділити на основу нової системи числення, виділяючи остачі. Останні записані у зворотному порядку, будуть утворювати число в новій системі числення;

- для переведення дробової частини:

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

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

Приклади переведення чисел у двійкову, вісімкову та шістнадцяткову системи числення.

1.Переведення з десяткової в двійкову систему числення:

2001,100210= 11111010001,000112

для цілої частини:

2001
2

2000

1 1000 2

1000

0 500 2

500

0

250 125 2

0

1 62 2

62

0 31 2

30

1 15 2

14

1 7 2

6

1 3 2

1 1

для дробової частини:

0, 1002 *2

0 2004

0 4008

0 8016

1 6022

1 2044

0 4088

0 8176

1 6352

Перевірка:

для цілої частини:

1024;512;256;128;64;32;16;8;4;2;1.

1 1 1 1 1 0 1 0 0 0 1=2001

для дробової частини:

1/2;1/4;1/8;1/16;1/32;1/64;1/128;1/256

0 0 0 1 1 0 0 1=1/16+1/32+1/256=25/2560,0977

похибка для дробової частини:

0,1002-0,0977=0,0025- абсолютна похибка.

0,0025/0,1002*100%2,5% - відносна похибка.

2.Переведення з десяткової у вісімкову систему числення:

2001,100210=3721,06323268

для цілої частини:

2001
8

2000

1 250 8

248

2 31 8

24

73

для дробової частини:

0, 1002 *8

0 8016

6 4128

3 3024

2 4192

3 3536

2 8288

6 6304

Перевірка:

для цілої частини:

a0=1; a1=2; a2=7; a3=3; q=8.

a0*q0+a1*q1+a2*q2+a3*q3=1*1+2*8+7*64+3*512=2001.

для дробової частини:

a-1=0; a-2=6; a-3=3; a-4=2;a-5=3; a-6=2; a-7=6; q=8.