- •Министерство образования и науки российской федерации федеральное агенство по образованию
- •«Санкт-петербургский государственный университет аэрокосмического приборостроения»
- •190000, Санкт-Петербург, ул.Б.Морская, 67
- •Цели и общая характеристика учебной дисциплины
- •Программа учебной дисциплины
- •Основная литература
- •Дополнительная литература
- •Методические указания по изучению курса и контрольные вопросы
- •5. Методические указания по выполнению контрольного задания Системы счисления
- •4. Контрольное задание Представление числовых данных в цвм
- •Перевод чисел из одной системы счисления в другую Перевод чисел из восьмеричной и шестнадцатеричной систем в двоичную и обратно
- •Перевод чисел в десятичную систему
- •Перевод чисел из десятичной системы в другие
- •Представление целых чисел в эвм
- •Представление целых чисел в эвм
- •Переполнение при выполнении операции сложения целых чисел со знаком в эвм
- •6. Пример выполнения контрольного задания
- •7. Примерный перечень экзаменационных вопросов
- •Цели и общая характеристика учебной дисциплины .................................. 3
Перевод чисел из одной системы счисления в другую Перевод чисел из восьмеричной и шестнадцатеричной систем в двоичную и обратно
Для перевода чисел из восьмеричной и шестнадцатеричной систем в двоичную необходимо:
-
двигаясь от запятой влево и вправо заменить каждую цифру эквивалентной ей двоичной триадой (тройкой цифр – для восьмеричной системы) или тетрадой (четверкой цифр – для шестнадцатеричной системы);
-
удалить из записи числа незначащие нули.
Переведем число 251,34 (8) в двоичную систему.
2 5 1 , 3 4
010 101 001 , 011 100 = 10101001,0111 (2).
Аналогично, но разбивая число на тетрады, переведем 7A,B2 в двоичную систему:
7 A , B 2
0111 1010 , 1011 0010 = 1111010,1011001 (2).
Для перевода числа из двоичной системы в восьмеричную и шестнадцатеричную системы необходимо:
-
двигаясь от запятой влево и вправо разбить число на группы по три или четыре цифры, при необходимости добавляя незначащие нули;
-
заменить каждую группу одной восьмеричной или шестнадцатеричной цифрой.
Переведем число 1010111,10111 (2) в восьмеричную и шестнадцатеричную системы:
001 010 111 , 101 110 = 127, 56 (8),
0101 0111 , 1011 1000 = 57, B8 (16).
Перевод чисел в десятичную систему
Для перевода числа из системы счисления с основанием q в десятичную систему необходимо разложить число по степеням основания q, используя (1).
Примеры. 10111,11 (2) = 1 x 24 + 1 x 22 + 1 x 21 + 1 x 20 + 1 x 2-1 + 1 x 2-2 = 23,75 (10).
174,2 (8) = 1 x 82 + 7 x 81 + 4 x 80 + 2 x 8-1 = 124,25 (10).
B5,8 (16) = 11 x 161 + 5 x 160 + 8 x 16-1 = 181,5 (10).
Перевод чисел из десятичной системы в другие
Для перевода чисел, состоящих из целой и дробной частей, из десятичной системы в другие системы, существуют два правила: одно – для перевода целой части числа, а другое – для дробной части.
Для перевода десятичного целого числа в систему с основанием q его надо последовательно делить на основание q (по правилам десятичной системы) до тех пор, пока очередное частное не будет меньше q. Число в системе с основанием q записывается в виде упорядоченной последовательности остатков от деления в порядке, обратном их получению, причем старшей цифрой числа будет последнее частное.
Пример. Переведем число 67 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы.
67 2 67 8 67 16
6
6
33 2 64 8
8 64 4

1
32 16 2 3
8 1
3


1
16 8 2
0


0
8 4 2


0
4 2 2

0
2 1
0

В результате вычислений мы получили представление числа 67(10) в других системах счисления:
67(10) = 1000011(2) = 103(8) = 43(16).
Альтернативный способ перевода основан на использовании следующего правила:
qk = 1 000 … 00
k нулей.
Например, 103
= 1 000.
Выпишем несколько первых степеней двойки, восьми и шестнадцати:
21 = 2, 81 = 8. 161 = 16.
22 = 4, 82 = 64. 162 = 256.
23 = 8, 83 = 512.
24 = 16,
25 = 32,
26 =64,
27 = 128,
28 =256,
29 = 512,
210 = 1024.
Пример. Переведем число 153 из десятичной системы в двоичную систему. Представим число 153 как сумму чисел, представляющих собой степени числа два:
153(10) = 128 + 16 + 8 + 1 = 27 + 24 + 23 + 20 = 10011001(2).
При переводе десятичной правильной дроби в систему с основанием q необходимо последовательно умножать эту дробь на основание q (по правилам десятичной системы), отделяя после каждого умножения целую часть произведения. Число в системе с основанием q записывается в виде упорядоченной последовательности целых частей произведений, в порядке их получения.
Число произведений определяется точностью перевода, т.е. сколько цифр после запятой надо иметь в новой системе счисления. Если необходимо иметь k цифр после запятой, то для получения результата без округления необходимо выполнить k умножений. Если необходимо получить результат с округлением, то умножение выполняют k+1 раз и далее производят округление по половине основания, используя последнюю полученную цифру.
Пример. Перевести число 0,453 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную. Точность перевода – три цифры после запятой.
0

,453
0,453 0,453
2 8 16
0

,906
3,624
7,248
2 8 16
1

,812
4,992
3,968
2 8 16
1

,624
7,936
15,488
2 8 16
1

,248
7,488 7,808
Четвертое умножение выполнено с целью округления результата перевода.
В результате вычислений мы получили представление числа 0,453(10) в других системах счисления:
-
без округления - 0,453(10) = 0,011(2) = 0,347(8) = 0,73F(16);
-
с округлением - 0,453(10) = 0,100(2) = 0,35(8) = 0,74(16) (добавлена 1 к предыдущему разряду).
