Лабораторная работа 3. Представление чисел
В позиционных системах счисления
Теоретическое обоснование
Совокупность приемов наименования и записи чисел называется системой счисления. Счисление представляет собой частный случай кодирования, где слово, записанное с использованием определенного алфавита и по определенным правилам, называется кодом.
Если значение цифры или символа зависит от позиции в ряду цифр или символов изображающих число, то такая система счисления называется позиционной,в противном случае - непозиционной системой.
В любой системе счисления выбирается алфавит, представляющий собой совокупность некоторых символов (цифр или знаков), с помощью которого можно представить любое число. Если алфавит состоит из двух цифр 0 и 1, то система двоичная. В десятичной системе алфавит состоит из десяти цифр: 0, 1, 2, 3, …, 9. В восьмеричной - из восьми: 0, 1, 2, 3, …,7. В шестнадцатеричной - используется десять цифр 0, 1, 2, 3, …, 9 и буквы латинского алфавита A (обозначает цифру 10), B (11), C(12), D(13), E(14), F(15). Количество используемых цифр называется основанием позиционной системы счисления. Место для цифры в числе называется разрядом, а количество цифр в числе - разрядностью числа. Крайняя слева цифра называется цифрой старшего разряда, а крайняя справа - младшего разряда.
|
|
Алгоритм перевода из 10-й системы в Р-ю (Р-целое, положительное число):
1) Целая и дробная части числа переводятся отдельно.
2) Целая часть числа последовательно делится нацело на величину Р и остатки от деления записываются, начиная с последнего как результат.
3) Дробная часть числа последовательно умножается на Р и целые значения записываются, начиная с первого как результат. Умножение выполняется до получения в дробной части 0 или с указанной точностью (по умолчанию – 6 знаков после запятой).
Пример 1. Перевести число Х=165,410 в 2-ю, 8-ю, 16-ю системы счисления.
Перевод целой и дробной части Х в 2-ю систему счисления:
-164 | * | 0,4 | * | 0,8 | * | 0,6 | * | 0,2 | * | 0,4 | * | 0,8 | ||||||
-82 | ||||||||||||||||||
0,8 | 1,6 | 1,2 | 0,4 | 0,8 | 1,6 | |||||||||||||
-20 | ||||||||||||||||||
-10 | ||||||||||||||||||
-4 | ||||||||||||||||||
-2 | ||||||||||||||||||
Число Х в 2-ной системе счисления: Х= 165,410 =10100101,0110012
|
|
Аналогично выполняется перевод в 8-ю и 16-ю системы.
-160 | |||
-16 | |||
* | 0,4 | * | 0,2 | * | 0,6 | * | 0,8 | * | 0,4 | * | 0,2 |
3,2 | 1,6 | 4,8 | 6,4 | 3,2 | 1,6 |
Число Х в 8-ной системе счисления: Х = 165,410 = 245,3146318
* | 0,4 | * | 0,4 | ||||||
-160 | это | А | |||||||
6,4 | 6,6 |
Число Х в 16-ной системе счисления: Х = 165,410 = А5,666…16=А5,(6)16
Перевод из Р-й системы в 10-ю (Р - целое, положительное число):
Любое число Х в позиционной системе счисления P можно представить в виде ряда:
где ХР – запись числа в системе счисления с основанием Р; хi - целое положительное число, меньше Р; n – число разрядов в целой части числа;
m – число разрядов в дробной части числа.
Такая схема называется схемой Горнера.
Алгоритм перевода из Р-й системы в 10-ю:
1) От запятой вправо и влево нумеруются разряды чисел.
2) Каждая цифра числа хi умножается на основание системы Р в степени номера разряда, результаты складываются.
Пример 2. Полученныев примере 1 числа перевести в 10-ю систему.
Для проверки полученного результата обратным переводом нужно воспользоваться схемой Горнера. Перевод из 2-й в 10-ю систему:
1, | 12 | =1*27 + 0*26+ 1*25 + 0*24 + 0*23 + | ||||||||||||
-1 | -2 | -3 | -4 | -5 | -6 | |||||||||
+1*22 +0*21 + 1*20 +0*2-1 +1*2-2 +1*2-3 +0*2-4 +0*2-5+1*2-6≈165,410 |
Из 8-й системы в 10-ю:
5, | 12 | =2*82 + 4*81 +5*80+3*8-1 +1*8-2 +4*8-3+ | |||||||
-1 | -2 | -3 | -4 | -5 | -6 | +6*8-4 +3*8-5+1*8-6≈165,410 |
Из 16-й системы в 10-ю:
А | 5, | 62 | 62 | =10*161 +5*160+6*16-1 +6*16-2 +6*8-3+ | ||||
-1 | -2 | -3 | -4 | -5 | -6 | +6*8-4 +6*8-5+6*8-6≈165,410 |
Задания:
1) Переведите числа 101,8 и 200,6 в 2-ю, 8-ю, 16-ю системы с точностью до 3-х знаков после запятой. Полученные результаты переведите в 10-ю систему.
2) Среди чисел 100011002, 2218, 9616 сколько меньше десятичного числа 13510 ?