- •Практическое занятие № 1 позиционные системы счисления
- •1. Перевод чисел из одной системы в другую
- •1.1. Алгоритмы перевода чисел в другую систему счисления, использующие арифметику исходной системы счисления (s).
- •1.2. Алгоритмы перевода чисел, использующие арифметику новой системы счисления (r).
- •1.3. Перевод чисел в системах счисления с кратными основаниями.
- •1.4. Машинные коды двоичных чисел
- •2. Задания к практическому занятию
1. Перевод чисел из одной системы в другую
Пусть необходимо число XS из системы счисления с исходным основанием S перевести в эквивалентное число XR в системе счисления с новым основанием R.
Существует много различных алгоритмов перевода чисел из одной системы счисления в другую. Выбор наиболее удобного зависит от вида числа (целое или правильная дробь), соотношения оснований (кратные, некратные), использования арифметики исходной или новой системы счисления.
1.1. Алгоритмы перевода чисел в другую систему счисления, использующие арифметику исходной системы счисления (s).
Правило перевода целых чисел XS→XR, X – целое.
Для перевода целого числа XS, представленного в системе счисления с основанием S, в систему счисления с основанием R необходимо по правилам арифметики исходной S –системы делить данное число XS на новое основание R до получения целого остатка, меньшего R. Полученное частное необходимо снова делить на основание R до получения целого остатка, меньшего R, и т.д. до тех пор, пока последнее частное будет меньше нового основания R. Число XR в системе счисления с основанием R представится последовательностью остатков деления в порядке, обратном их получению, причем старшую цифру в числе XR дает последнее частное.
Поскольку используется арифметика исходной системы, то таким способом удобно переводить из 10-й системы счисления в другие системы.
Пример 1. Перевести десятичное число 5710 в систему счисления с основанием 2.
XS = 57; XR = ?
-
57
2
– 56
28
2
1
– 28
14
2

0
– 14
7
2
0
– 6
3
2
1
– 2
1
←старший разряд числа в новой
1
двоичной системе счисления
X2 = 111001
Пример 2. Преобразовать десятичное число 63410 в шестнадцатеричное.
-
Шаг
Деление
Частное
Остаток
1
634/16
39
А
младший значащий разряд
2
39/16
2
7
3
2/16
0
2
старший значащий разряд
X16 =27А
Пример 3. Преобразовать десятичное число 5710 в двоичное.
-
Шаг
Деление
Частное
Остаток
1
57/2
28
1
младший значащий разряд
2
28/2
14
0
3
14/2
7
0
4
7/2
3
1
5
3/2
1
1
6
1/2
0
1
старший значащий разряд
X2 =111001
1.1.2. Правило перевода правильной дроби XS→XR, |X|<1.
Перевод правильной дроби XS, представленной в системе счисления с основанием S в систему счисления с основанием R, заключается в последовательном умножении этой дроби на новое основание R (по правилам исходной системы S), причем перемножению подвергаются только дробные части. Дробь XR в системе счисления с новым основанием представится в виде последовательности целых частей произведений в порядке их получения, где старший разряд является целой частью первого произведения. Если требуемая точность перевода есть R-k, то число указанных последовательных произведений равно k.
Пример 4. Перевести дробь 0,761 в двоичную с точностью 2-5.
Заданное число умножаем последовательно 5 раз на 2.
-
0,761

х
2
Направление
1,522
записи
х
2
двоичного
1,044
числа
х
2
0,088
х
2
0,176
х
2
0,352
Десятичной дроби X10=0,761 с точностью 2-5 соответствует двоичная дробь X2=0,11000.
Пример 5. Преобразовать дробь 0,32812510 в шестнадцатеричную с точностью 2-2.
-
Шаг
Умножение
Произведение (целая часть)
1
0,328125*16=5,25
5
старший значащий разряд
2
0,25*16=4,00
4
младший значащий разряд
X16 = 0,54
Пример 6. Преобразовать дробь 0,3437510 в двоичную с точностью 2-5.
-
Шаг
Умножение
Произведение (целая часть)
1
0,34375*2=0,6875
0
старший значащий разряд
2
0,6875*2=1,375
1
3
0,3750*2=0,75
0
4
0,75*2=1,5
1
5
0,5*2=1,0
1
6
0,0*2=0
0
младший значащий разряд
X2 = 0,010110
1.1.3. Правило перевода неправильной дроби.
Для чисел, имеющих как целую, так и дробную часть, перевод из одной системы счисления в другую осуществляется отдельно для целой и дробной части по правилам, указанным выше.
Пример 7. Преобразовать десятичное число 634,32812510 в восьмеричное.
-
Преобразование целой части
Шаг
Деление
Частное
Остаток
1
634/8
79
2
младший значащий разряд
2
79/8
9
7
3
9/8
1
1
4
1/8
0
1
старший значащий разряд
Результат 63410 =11728
-
Преобразование дробной части
Шаг
Умножение
Произведение (целая часть)
1
0,328125*8=2,625
2
старший значащий разряд
2
0,625*8=5,00
5
младший значащий разряд
Результат 0,32812510 =0,258
Общий результат: 634,32812510=1172,258
