Перевод правильной десятичной дроби в любую другую позиционную систему счисления
Основные понятия
Система счисления – это совокупность правил наименования и изображения чисел с помощью набора символов, называемых цифрами.
Используются три типа систем счисления:
· позиционная – представление числа зависит от порядка записи цифр.
· непозиционная – представление числа не зависит от порядка записи цифр
· смешанная – нет понятия «основание»: либо оснований несколько, либо оно вычисляемое
В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позициив записи числа.
В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы.
Сама же запись числа 757,7 означает сокращенную запись выражения
700 + 50 + 7 + 0,7 = 7∙10 2 + 5∙10 1 + 7∙10 0 + 7∙10 -1 = 757,7.
Любая позиционная система счисления характеризуется своим основанием.
Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе.
За основание системы можно принять любое натуральное число — два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием q означает сокращенную запись выражения
где ai – цифры системы счисления; n и m – число целых и дробных разрядов, соответственно.
Таблица 1. Эквиваленты чисел в различных системах счислений
Системы счисления | |||
Десятичная | Двоичная | Восьмеричная | Шестнадцатеричная |
A | |||
B | |||
C | |||
D | |||
E | |||
F |
Преобразование чисел из одной системы счисления в другую
Перевод целого числа из десятичной системы в другую позиционную систему счисления
При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не останется остаток, меньший или равный q–1. Число в системе с основанием q записывается как последовательность остатков от деления, записанных в обратном порядке, начиная с последнего.
c. в шестнадцатеричную:
Перевод правильной десятичной дроби в любую другую позиционную систему счисления
При переводе правильной десятичной дроби в систему счисления с основанием q необходимо сначала саму дробь, а затем дробные части всех последующих произведений последовательно умножать на q, отделяя после каждого умножения целую часть произведения. Число в новой системе счисления записывается как последовательность полученных целых частей произведения.
Умножение производится до тех пор, пока дробная часть произведения не станет равной нулю. Это значит, что сделан точный перевод. В противном случае перевод осуществляется до заданной точности.
Перевод целых и дробных чисел из одной системы счисления в другую
Поскольку одно и то же число может быть записано в различных СС, то возможен перевод числа из одной системы в другую. Т.к. самая распространенная СС – десятичная, то необходимо рассмотреть алгоритмы перевода из десятичной системы в другую и обратно.
1. Алгоритм перевода из десятичной СС в другую.
1). Целочисленно разделить исходное число Z(10) на основание новой системы (p) и найти остаток отделения – это будет цифра от 0-го разряда числа Z.
2). Частное от деления снова разделить на P с выделением остатка, процедуру продолжать до тех пор, пока частное не окажется меньше P.
3). Образованные остатки от деления, поставленные в порядке, обратном их получения, и представляют Z(p). Пример:
Итак, 123 (10) = 443 (5).
2. Алгоритм перевода Z(p) в Z(10).
Для этого преобразования используют формулу (1):
Где p – основание СС, k- общее число цифр числа.
443(5)=4*5 2 + 4*5 1 + 3*5 0 = 100+20+3 = 123.
3. Алгоритм перевода дробного числа из десятичной СС в другую систему.
1) Умножить исходную дробь в 10-ной системе на основание P, выделить целую часть – она будет первой цифрой новой дроби, отбросить целую часть.
2) Для оставшейся дробной части операцию умножения с выделение целой и дробной частей повторять, пока в дробной части не окажется 0 или не будет достигнута желаемая точность конечного числа.
3) Записать дробь в виде последовательности цифр после поля с разделителями в порядке их появления.
4. Алгоритм перевода 0.Y(P) в 0.Y(10) сводится к вычислению значения формулы (1).
0,0112 = 0*2 -1 + 1*2 -2 + 1*2 -3 = 0,25+0,125 = 0,37510.
Арифметические операции в двоичной системе счисления и представление чисел в других системах счисления.
1) Сложение производится согласно таблице сложения, которая для двоичных чисел имеет вид:
2) Умножение производится согласно таблице умножения.
Таким образом, умножение двоичных чисел сводится к операциям сдвига на один двоичный разряд влево и повторения первого сомножителя в тех разрядах, где второй сомножитель содержит 1, и сдвига без повторения с разрядом 0.
Перевод дробных чисел из одной системы
Счисления в другую
Примеры перевода правильных дробей в десятичную систему счисления.
1. Перевести в десятичную систему счисления число 0,10102
0,10102= 1×2 -1 + 0×2 -2 + 1×2 -3 + 0×2 -4 = 0,5 + 0,125 = 0,62510;
2. Перевести в десятичную систему счисления число 0,92416
0,92416 = 9×16 -1 + 2×16 -2 + 4×16 -3 = 9/16 + 2/256 + 4/4096 = = 2340/4096 = 0,571289062510 .
Перевод десятичной дроби в другую систему счисления производится в следующей последовательности:
— умножить исходную дробь на основание новой системы счисления;
— выделить из полученного результата целую часть и принять ее за цифру очередного разряда искомой дроби;
— если достигнута требуемая точность, то дальнейшие действия прекращаются, в противном случае из последнего результата умножения выделяется дробная часть, принимается за исходное число и описанная выше последовательность действий повторяется;
— искомая дробь в новой системе счисления записывается в виде последовательности целых частей полученных произведений, начиная с первого.
Пример
Перевести в двоичную систему счисления десятичную
дробь 0,231510 (с точностью до 5 знаков после запятой)
´2 = 0 4630
´ 2 = 09260
´ 2 = 18520
´ 2 = 17040
´2 = 14080
´ 0,231510 = 0,001112 …
Перевод неправильных дробей из одной системы счисления в другую выполняется по описанным выше правилам отдельно для целой и дробной частей.
Примеры
1. Перевести в двоичную систему счисления число 72,4110
72,4110 = 7210 + 0,4110
|
72 2
— 72 36 2
0 — 36 18 2
0 — 18 9 2
0 — 8 4 2
1 — 4 2 2
0 — 2 1
7210=10010002 0
Перевод числа 0,4110 в двоичную систему счисления производится по описанному выше алгоритму перевода десятичной дроби в другую систему счисления. В результате перевода получено следующее число:
72,4110 = 1001000,0110100…2 .
2. Перевести двоичное число в шестнадцатиричную систему счисления (путем разбиения на тетрады: для целой части справа налево, для дробной – слева направо)
1011,0111012 = 1011 , 01110100 2 = В,7416 .
Выполнение арифметических операций над числами
Арифметические операции над двоичными числами выполняются по тем же правилам, что и аналогичные операции над десятичными числами, а именно:
| |
Двоичная Двоичная Двоичная
таблица сложения таблица вычитания таблица умножения
0 + 0 = 0 0 — 0 = 0 0 ´ 0 = 0
1 + 0 = 1 1 — 0 = 1 1 ´ 0 = 0
1 + 0 = 1 1 — 1 = 0 0 ´ 1 = 0
1 + 1 = 10 10 — 1 = 1 1 ´ 1 = 1
Пример
Выполнить сложение, вычитание, умножение и деление в двоичной системе счисления
+ 10011,110- 110001,1010
11001001 11011101101 1001
´ 1001 — 1001 11000101
11001001 1001
+ 11001001 — 1001
1001
— 1001
Кодирование алфавитно-цифровой информации
В разное время и для разных моделей компьютеров были разработаны разные коды для кодирования числовой и текстовой информации.
Рассмотрим некоторые из них.
1. Двоично-десятичный код.Используется для кодирования числовой информации. Каждая цифра представляется 4-х разрядным двоичным числом (табл. 2).
Таблица 2
Пример
Представить десятичное число 92710 в двоично-десятичном коде
92710 = 100100100111 2-10 код .
2. Код ASCII (American Standard Code for Information Interchange).Используется для кодирования чисел и текстовой информации в современных персональных компьютерах. В ASCII символы с кодами от 0 до 127 используются для представления цифр, знаков арифметических операций, букв латинского алфавита, знаков пунктуации. Символы с кодами от 128 до 255 являются дополнительными и используются для букв национальных алфавитов и символов псевдографики. В странах СНГ наиболее широкое распространение получила русская альтернативная дополнительная таблица, которая приведена в [1].
Пример
Представить фамилию Иванов в коде ASCII (используя таблицу ASCII кодов, [1, стр. 14])