Перевод из 8-й (16-й) системы счисления в 2-ю систему
Лабораторная работа 2
Представление чисел
В позиционных системах счисления
Теоретическое обоснование
Совокупность приемов наименования и записи чисел называется системой счисления.Счисление представляет собой частный случай кодирования, где слово, записанное с использованием определенного алфавита и по определенным правилам, называется кодом.Если значение цифры или символа зависит от позиции в ряду цифр или символов изображающих число, то такая система счисления называется позиционной,в противном случае - непозиционной системой.
В любой системе счисления выбирается алфавит, представляющий собой совокупность некоторых символов (цифр или знаков), с помощью которого можно представить любое число. Если алфавит состоит из двух цифр 0 и 1, то система двоичная. В десятичной системе алфавит состоит из десяти цифр: 0, 1, 2, …, 9. В восьмеричной - из восьми: 0, 1, 2, …,7. В шестнадцатеричной - используется десять цифр 0, 1, 2,…,9 и буквы латинского алфавита A (обозначает цифру 10), B (11), C(12), D(13), E(14), F(15). Количество используемых цифр называется основаниемпозиционной системы счисления. Место для цифры в числе называется разрядом, а количество цифр в числе - разрядностью числа.Крайняя слева цифра называется цифрой старшего разряда, а крайняя справа - младшего разряда.
Алгоритм перевода чисел из 10-й системы в Р-ю (Р-целое, положительное число):
1) Целая и дробная части числа переводятся отдельно.
2) Целая часть числа последовательно делится нацело на величину Р и остатки от деления записываются, начиная с последнего как результат.
3) Дробная часть числа последовательно умножается на Р и целые значения записываются, начиная с первого как результат. Умножение выполняется до получения в дробной части 0 или с указанной точностью (по умолчанию – 6 знаков после запятой).
Пример: Переведем число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Ответ: 7510 = 1 001 0112 = 1138 = 4B16.
Для перевода правильной десятичной дроби F в систему счисления с основанием q необходимо F умножить на q , записанное в той же десятичной системе, затем дробную часть полученного произведения снова умножить на q, и т. д., до тех пор, пока дробная часть очередного произведения не станет равной нулю, либо не будет достигнута требуемая точность изображения числа F в q-ичной системе. Представлением дробной части числа F в новой системе счисления будет последовательность целых частей полученных произведений, записанных в порядке их получения и изображенных одной q-ичной цифрой. Если требуемая точность перевода числа F составляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется q -(k+1) / 2.
Пример. Переведем число 0,36 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Для чисел, имеющих как целую, так и дробную части, перевод из десятичной системы счисления в другую осуществляется отдельно для целой и дробной частей по правилам, указанным выше.
Перевод из Р-й системы в 10-ю (Р - целое, положительное число):
Любое число Х в позиционной системе счисления P можно представить в виде ряда:
где ХР – запись числа в системе счисления с основанием Р; хi - целое положительное число, меньше Р; n – число разрядов в целой части числа;
m – число разрядов в дробной части числа.
Такая схема называется схемой Горнера.
Алгоритм перевода из Р-й системы в 10-ю:
1) От запятой вправо и влево нумеруются разряды чисел.
2) Каждая цифра числа хi умножается на основание системы Р в степени номера разряда, результаты складываются.
Пример. Переведем числа, записанные в двоичной, восьмеричной и шестнадцатеричной системах счисления, в десятичную.
Перевод из 2-й в 10-ю систему:
Разряды 3 2 1 0 -1
Число 1 0 1 1, =1* .
Из 8-й системы в 10-ю:
Разряды 2 1 0 -1 Число 2 7
Из 16-й системы в 10-ю:
Разряды 2 1 0 Число 1 F
Пример.
В системе счисления с некоторым основанием десятичное число 18 записывается в виде 30. Укажите это основание.
Решение:
Примем за х основание неизвестной системы счисления. Пронумеруем разряды и запишем данные числа в развёрнутой форме:
Ответ: десятичное число 18 записывается в виде 30 в системе счисления с основанием 6.
Задания:
1) Среди чисел 100011002, 2218, 9616 какие меньше 14610 и почему?
2) Переведите числа 101,8 и 200,6 в 2-ю, 8-ю, 16-ю системы с точностью до 4-х знаков после запятой. Полученные результаты переведите в 10-ю систему.
3) Равенство 14+3=22 будет истинным в системе счисления с основанием 7, 5, 10 или 2?
4) Определите, в какой системе счисления записано математическое выражение 122+2=201?
Перевод из 8-й (16-й) системы счисления в 2-ю систему
Так как 8=23 и 16=24, то перевод чисел из 8-й (16-й) системы счисления в 2-ю можно упростить. Каждую 8-ю (16-ю) цифру надо перевести в 2-й вид и представить тремя (четырьмя) разрядами в соответствии с таблицей 1.
Таблица 1- Таблицы соответствия чисел 2-й и 8-й (16-й) систем
8-е цифры | 2-е числа | 16-е цифры | 2-е числа | 16-е цифры | 2-е числа | |
А(10) | ||||||
В(11) | ||||||
С(12) | ||||||
D(13) | ||||||
E(14) | ||||||
F(15) |
Пример 3.Перевести числа 265,128 и С4В,2516 в 2-ю систему счисления.
265,128= | 101, | 0102 | =10110101, 001012. | |||||||||
5, | ||||||||||||
С4В,2516= | 1011, | 01012 | =110001001011, 001001012. | |||||||||
C | B, | |||||||||||
Справедливо и обратно: для перевода из 2-й системы в 8(или 16) - ю число от запятой в право и влево разделяется по три (для 8-й системы) или четыре (для 16-й системы) разряда. При недостатке разрядов исходное число дополняется слева или справа нолями, что не меняет его величину. Полученные таким образом двоичные числа записываются по таблице 1 как 8-е или 16-е числа. Например:
10110101, 001012= | 101, | 0102 | =265,128. | |||||||||
5, | ||||||||||||
110001001011, 001001012= | 1011, | 01012 | = С4В,2516 | |||||||||
C | B, | |||||||||||
Задания:
1) Записанное в 16-й системе число 3F, С в 2-й системе с точностью до 2-х знаков после запятой, это: 111111, 112; 1111111,012; 111101,102 или 111110,102? Выберите правильный ответ.
2) Записанное в 2-й системе счисления число 100011,112 какой вид будет иметь в 16-й системе с точностью до 2-х знаков после запятой?
3) Среди чисел 101100002, 16710, AF16 сколько чисел меньше числа 2618 ?
Двоичная арифметика.
Правила выполнения арифметических действий над двоичными числами задаются таблицей 2.
Таблица 2 – Правили выполнения арифметических операций
Двоичное сложение | Двоичное вычитание | Двоичное умножение |
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 | 0 – 0 = 0 1 - 0 = 1 1 – 1 = 0 10 - 1 = 1 | 0 0 = 0 0 1 = 0 1 0 = 0 1 1 = 1 |
При сложении двоичных чисел в каждом разряде производится сложение цифр слагаемых и переноса из соседнего младшего разряда, если он имеется. При этом необходимо учитывать, что 1+1 дают ноль в данном разряде и единицу переноса в следующий.
Пример.Выполнить сложение двоичных чисел: X=1101, Y=101.
При вычитании двоичных чисел в данном разряде при необходимости занимается 1 из старшего разряда.
Пример. Даны двоичные числа X=10010 и Y=101. Вычислить X-Y.
Умножение двоичных чисел производится по тем же правилам, что и для десятичных с помощью таблиц двоичного умножения и сложения. Для удобства вычислений рекомендуется складывать по два слагаемых, а затем к полученной сумме прибавлять следующее слагаемое (пример 1.6 а))
Пример. Даны двоичные числа X и Y, вычислить X Y.
а) X=1001 и Y=101
б) X=1001 и Y=111
Для выполнения деления двоичных чисел используются таблицы двоичного умножения и вычитания.
Пример. Даны двоичные числа X=1100.011 и Y=1001. Вычислить X/Y.
Задания
1. Для каждого из чисел определить разрядность и указать номера старшего и младшего разрядов: а) 12345.034; б) 365; в) -273.1.
2. Представить в виде полинома числа:
а) 51.1510; б) 10110.1012; в) 37.48; г) А7.1Е16.
3. Даны двоичные числа X и Y. Вычислить X+Y и X-Y , если:
а) X=1101001; Y=101111;
б) X=101110110; Y=10111001;
в) X=100011001; Y=101011.
4. Даны двоичные числа X и Y. Вычислить X*Y и X/Y , если:
а) X=1000011011; Y=1011;
б) X=100101; Y=110;
в) X=100000; Y=101.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое система счисления?
2. В чем отличие позиционной системы счисления от непозиционной?
3. Что называется основанием и алфавитом системы счисления?
4. Как порождаются целые числа в позиционных системах счисления?
5. Почему люди пользуются десятичной системой, а компьютеры – двоичной?
6. Почему в компьютерах используются также восьмеричная и шестнадцатеричная системы счисления?
7. Как перевести целое число из десятичной системы в любую другую позиционную систему счисления?
8. Как перевести правильную десятичную дробь в любую другую позиционную систему счисления?
9. Как перевести число из двоичной (восьмеричной, шестнадцатеричной) системы в десятичную?