Warning: session_start() [function.session-start]: open(/var/www/nelvin/data/mod-tmp/sess_f7b33b9e8f54a5958def4ce2f5fff7a0, O_RDWR) failed: Permission denied (13) in /var/www/nelvin/data/www/ebooktime.net/index.php on line 7

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/nelvin/data/www/ebooktime.net/index.php:6) in /var/www/nelvin/data/www/ebooktime.net/index.php on line 7

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/nelvin/data/www/ebooktime.net/index.php:6) in /var/www/nelvin/data/www/ebooktime.net/index.php on line 7

Warning: file_get_contents(files/survey) [function.file-get-contents]: failed to open stream: No such file or directory in /var/www/nelvin/data/www/ebooktime.net/index.php on line 82
1.6. Переведення чисел із однієї системи в іншу. : Вища математика : Бібліотека для студентів

1.6. Переведення чисел із однієї системи в іншу.


Повернутися на початок книги
1 2 3 4 5 6 7 8 9 10 11 12 13 14 
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 
105 106 107 108 109 110 111 112 113 114 115 116 117 118 

Загрузка...

При розв 'язуванні задач на ЕОМ початкові дані, як правило, задаються в десят-ковій системі числення, утій же системі треба одержати результат. Однак майже всі машини працюють не в десятковій системі, а в якій-небугь іншій, наприклад у двійковій. Тому виникає необхідність переведення чисел із однієї системи в іншу. При розгляді правил переведення чисел із однієї системи числення в ішпу обмежимось лише системами числення з невід'ємною базою. Оскільки переведення від'ємних чисел зводигься до переводу абсолютних величин і приписування їм знаку мінус, то досить розглянуги перевід додатніх чисел.

Переведення чисел системи P в систему Q з допомогою арифметики системи Q.

Символічно такий перевід будемо позначати P—>Q(Q). Для того щоб число N, записане в системі Р:

N = (ап, ап , ..., a , a , a , ..., a ) перевести в систему Q, користуючись арифметикою системи Q, потрібно:

а)         записати число Ny вигляді:

N— ап-10п+ ап -10""1 + ... +я -Ю' + я -10°+ a -10_1 + ... + ат-Шт;

б)         замінити основу 10 і всі цифри а.(і—п, п-\, ..., -т) системи Р їхніми

зображеннями в системі Q;

в)         зробити обчислення, користуючись арифметикою системи Q.

Приклади:

а)         Перевести число 10110,11 з двійкової системи числення у десяткову

(2—>10(10)) .

Оскільки

10110,11 — 1-104 + 0-103 + 1-102 + 1-10' + 1-100 +1-10_1 + 1 • 102 , то замінивши основу системи числення - числом два, отримаємо:

1 -24 + 0-23 + 1 -22 + 1 -2і + 0-2° + 1 -2_1 + 1 -2~2 . Провівши обчислення, користуючись арифметикою десяткової системи чис-лення, дістаємо число 22,75,„.

Отже,  10110,11 = 22,75

б)         Перевести число 27,5,„ з десяткової системи числення удвійкову (10—»2(2)).

Оскільки

27,510 — 2-101 + 7-10° + 5-10-1, то, замінивши основу 10 і цифри 2, 7, 5 їхніми зображеннями у двійковій системі числення, отримаємо:

10-10101 + 111-1010°+ 101-1010х. Зробивши обчислення, користуючись арифметикою двійкової системи чис-лення, одержимо число 11011,1,. Отже, 27,5, = 11011,1,

в)         Перевести число 634,528з вісімкової системи числення удесяткову(8 —> 10(10)).

Подавши це число у вигляді

6-102 + 3-101 + 4-10° + 5- 10 і + 2-Ш2, і замінивши основу 10 - числом 8 (цифри 6, 3, 4, 5, 2 мають те саме зображення в десятковій системі числення) отримаємо:

6-82 + 3-81 + 4-8° + 5-81 + 2-8~2 . Зробивши обчислення, користуючись арифметикою десяткової системи чис-лення, одержуємо число 412,93750,„. Оіже, 634,528 = 412,9375010

г)         Перевести число 98,610 з десяткової системи числення увісімкову(10—»8(8)) .

Зобразивши це число у вигляді

9-10' + 8-10° + 6-101, ізамінившиосновучисло Юі цифри9, 8, 6 їхнімизображеннямиувісімковійсистемі числення, одержимо:

11-12' + 10-12° + 6-12: Зробивши обчислення, керуючись арифметикою вісімкової системи числення дістанемо число 142,4„. Отже, 98,6 — 142,4„.

 8         10        8

Переведення чисел системи Р в систему О за допомогою арифметики системи Р.

Символічно таке переведення будемо позначати Р—^(Р^.Оскільки для пере-ведення будь-якого числа досить вміти переводити його дробову та цілу частини, то можна розглянути обидва ці випадки окремо.

Перевід цілих чисел. Нехай ціле числоЖ, записане в системі Р, треба пфевести в систему Q. Оскільки N - ціле число, то його зображення в системі Q буде мати вишяд:

N = (b b ,...b,b.), тобто

N = bn-\0" + bnl-\0nl + bn2-l0"'2 + ... + b -101 + b0-l0°, де b(i — 0,1, ..., k) - цифри системи Q, які потрібно визначити, a 10 - основа системи Q.

Замінимо цифри b , b , ..., bkі основу 10 системи Q їхнім зображенням в системі Р. Нехай а. є зображенням цифри b.(i — 0,l, ..., k),aq - зображенням основи системи Q в системі Р.

Тоді

N = а.ак + а, ,акл + ... + а,а + а..

к-1       к-\J      1J        0

Поділивши обидві частини одержаної рівності на а, одержимо остачу а. і частку

Nl — akqk~l + я qk~2 + ... + a . Якщо тепер частку N. розділити на а, то одержимо остачу a. і частку

N — а,ак'2 + а, ,ам + ... + а..

2          к-1       к-\J      2

Повторюючицей процескразів, мипослідовно знайдемовсі числаa , a , ..., ak , причому остання частка N. = х,. Ділення виконуємо, користуючись ари0метикою системиР.

Таким чином, при послідовному діленні числа і часток, які одержуються при діленні, на основу системи, записану в системі, тобто на q, одержимо у вигляді остач від ділення цифри, потрібні для зображення числаТУв системі Q, записані в системі Р. Послідовне ділення проводиться до того часу поки не одержигься частка, менша за q. Ця остання частка дасть нам цифру числа N, записану в системі. При діленні користуються арифметикою системи Р.

Приюіади

а) Потевести число 6510 з десяткової системи числення удвійкову (10—>2(10)). Оскільки:

 

і десяткові цифри 0, 1 мають те саме зображення в двійковій системі числення, то

65 = 1000001

10        2

б) Перевести число 325 10 з десяткової системи числення у вісімкову (10—»8(10)). Оскільки:

_40 8

_325 320

5 40 5

\ 0 /

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

325 = 505.

10        8

в)         Перевести число 3060,„з десяткової системи у шістнадцяткову ҐЮ—>16 (10)).

Оскільки:

3060 16

16        191 16

_146    16 11

144      31

_20      16

16        15

а десяткові цифри 15, 11 зображаються в шістнадцятковій системі числення як F'\ В, 3060 = BFA.

10        16

г)         Перевести число 1110112з двійкової системи числення у десяткову (2—»10(2)).

Користуючись арифметикою двійкової системи числення, одержимо:

1010

_1110П 1010

_10011 1010

1001

Двійкові числа 101 та 1001 в десятковій системі числення мають зображення 5 і 9 відповідно, 111011 = 5910 .

Переведення правильних дробів. Нехай D - правильний дріб, записаний в сис-темі Р. Припустимо, що треба перевести дріб в систему Q. Нехай зображення D в системі 0 знайдено і воно має вигляд D = 0, b b Ь, ... .

•^        -1 -2 -J

тобто

D = b х- 10 і + b2-10~2 + b 3-10^ + ... , де b , b ,Ь ,... — цифри, a 10 основа системи Q.

Замінивши цифри b,, b „, b.,.... іоснову 10 їхніми зображеннями a,, a., a., ... , i q системи P, одфжимо:

D = a ^-q1 + a2-q~2 + a^-q~3 + ... . Помножимо дві частини одфжаної рівності на q. Одержимо число, ціла части-на якого а1 і дробова частина D — a 2-q~l + a 3-q~2 + ... .

Помноживши D, на q, одержимо число, ціла частина якого a, і дробова

D2 = a 3-qA + ... . Повторюючи множення потрібну нам кількість разів, ми знайдемо одну за од-ною цифри, потрібні нам для зображення числа D в системі Q. При множенні кори-стуємося арифметикою системи Р.

Таким чином, при послідовному множенні числа D і дробових частин добугків, які одержуються при множенні на основу Q, записану в системі Р, тобто на q, одер-жимо у вигляді цілих частин добутків цифри, потрібні для зображення числа D в системі Q. Множення виконуємо, користуючись арифметикою системи Р.

Приклади:

а) Перевести число 0,5625 з десяткової системи числення у вісімкову

 г         10        J          J

(10—>8(10)). Оскільки:

0,         5625

            X

            8

4          5000

            X

            8

4          0000

і десяткова цифра 4 має те саме зображення у вісімковій системі числення, то 0,562510 = 0,448

б) Перевестичисло 0,37510 з десяткової сисгеми численняудвійкову (10—>2(10)).

Оскільки:

0,         X         375

2

0          X         750

2

0          X         500

2

1                      0

і десяткові ци.ри 0, 1 мають те саме зображення в двійковій системі числення, то 0,37510 = 0,0012

в) Перевести число 0,554163 шістнадцяткової системи числення удесяткову (16 ^ 10(16)).

Оскільки:

 

0,         5В4

            X

            A

3          968

            X

            A

5          810

            X

            A

6          EA

            X

            A

9          04

            X

            A

0          28

            X

            A

1          9

            X

            A

5          A

            X

            A

6          4

            X

            A

2          8

            X

            A

5          0

i шістнадцяткові цифри 5, 5, 5, 6, 0, 1, 2 мають таке ж саме зображення і в десятковій системі числення, то0,55416 = 0,356901562510 .

Зауваження: Найзручніше при переводі чисел з системи численняР в систему Q користуватися арифметикою системиР, яшцор > q.

Перевід чисел системи Р в систему О і навпаки, якщо р = дк.

Нехайр — qk, де —р і q цілі додатні числа. У цьому випадку загальні правила переводу значно спрощуються.

Для того, щоб перевести число системи Р в систему Q щжр — qk, досить кожну цифру цього числа замінити відповідним А>розрядним числом в системі Q.

Для того, щоб перевести число системи Q в систему Р при р — qk, досить, рухаючись від коми вліво і вправо, розбити всі цифри числа на групи no к цифр у кожній (крайні групи доповнюються нулями, якщо це потрібно) і кожну групу замі-нити відповідною цифрою системи Р .

Приклади:

а)         Нехай/> = 8, g = 2, А; = 3

435,641 = 100 011 101, 110 100 001, (8—»2) ; 751,2378=111 101001,010 011 1112 (8^2); 1 001 111 001 010, 110 111 000 11 = 001 001 111 001 010, 110 111 000 110 = 11712,6706.

 2         2          a

(2 —> 8) .

Трирозрядне двійкове число, яке відповідає певній вісімковій цифрі, називаєть-ся тріадою. Відповідність між вісімковими цифрами і тріадами така:

0          = 000   2 = 010           4 = 100           6 = 110

1          = 001   3 = 011           5 = 101           7 = 111 .

б)         Нехай/> = 16, q = 2, к— 4 .

^4356,9£1116 = 1010 0011 0101 0110, 1001 1110 0001 00012 (16—>2) ; 48АВ,С94І?16 = 0100 1000 1010 1011, 1100 1001 0100 1110 (16 —>2) ; 1 110 001 101 001 010,100 000 1110101 = 1110 0011 0100 1010, 1000 0011 1010 10000 =

 2         2

=£344,83.48 (2 —> 16) .

10        2          8          16

0          0          0          0

1          1          1          1

2          10        2          2

3          11        3          3

4          100      4          4

5          101      5          5

6          110      6          6

7          111      7          7

Відповідність між цифрами в різних системах числення вказана в таблщі:

 

10        2          8          16

8          1000    10        8

9          1001    11        9

10        1010    12        A

11        1011    13        В

12        1100    14        с

13        1101    15        D

14        1110    16        Е

15        1111    17        F



Warning: Unknown: open(/var/www/nelvin/data/mod-tmp/sess_f7b33b9e8f54a5958def4ce2f5fff7a0, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/nelvin/data/mod-tmp) in Unknown on line 0