Перевод чисел из заданной системы в другую. Способы перевода чисел из одной системы счисления в другую
Из 16 или 8 в 2
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр) (см. таблицу). | |||||||
Двоичная (Основание 2) | Восьмеричная (Основание 8) | Десятичная (Основание 10) | Шестнадцатиричная (Основание 16) | ||||
триады | тетрады | ||||||
0 1 | 0 1 2 3 4 5 6 7 | 000 001 010 011 100 101 110 111 | 0 1 2 3 4 5 6 7 8 9 | 0 1 2 3 4 5 6 7 8 9 A B C D E F | 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 |
Например :
а) Перевести 305.4 8 "2" с.с.
б) Перевести 7B2.E 16 "2" с.с.
16А 16 =1 0110 1010 2 345 8 =11 100 101 2
Из 2 в 16 или 8
Например :
а) Перевести 1101111001.1101 2 "8" с.с.
б) Перевести 11111111011.100111 2 "16" с.с.
1000101010010101 2 =1000 1010 1001 0101=8A95 16 = 1 000 101 010 010 101=105225 8
Из 16 в 8 и обратно
Перевод из восьмеричной в шестнадцатеричную систему и обратно осуществляется через двоичную систему с помощью триад и тетрад.
Например :
Перевести 175.24 8 "16" с.с.
Результат: 175.24 8 = 7D.5 16 .
Из 10 в любую с.с.
Например :
а) Перевести 181 10 "8" с.с.
Результат: 181 10 = 265 8
б) Перевести 622 10 "16" с.с.
Результат: 622 10 = 26E 16
Перевод правильных дробей
Для перевода правильной десятичной дроби в другую систему эту дробь надо последовательно умножать на основание той системы, в которую она переводится. При этом умножаются только дробные части. Дробь в новой системе записывается в виде целых частей произведений, начиная с первого.
Например :
Перевести 0.3125 10 "8" с.с.
Результат: 0.3125 10 = 0.24 8
Замечание. Конечной десятичной дроби в другой системе счисления может соответствовать бесконечная (иногда периодическая) дробь. В этом случае количество знаков в представлении дроби в новой системе берется в зависимости от требуемой точности.
Например :
Перевести 0.65 10 "2" с.с. Точность 6 знаков.
Результат: 0.65 10 0.10(1001) 2
Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную.
Например :
Перевести 23.125 10 "2" с.с.
Таким образом: 23 10 = 10111 2 ; 0.125 10 = 0.001 2 .
Результат: 23.125 10 = 10111.001 2 .
Необходимо отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.
Из 2, 8 или 16 в 10
Например :
a)10101101.101 2 = 1 2 7 + 0 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 1 2 -1 + 0 2 -2 + 1 2 -3 = 173.625 10
б) Перевести 703.04 8 "10" с.с.
703.04 8 = 7 8 2 + 0 8 1 + 3 8 0 + 0 8 -1 + 4 8 -2 = 451.0625 10
в) Перевести B2E.4 16 "10" с.с.
B2E.4 16 = 11 16 2 + 2 16 1 + 14 16 0 + 4 16 -1 = 2862.25 10
Схема перевода чисел из одной системы счисления в другую
Aрифметические операции в позиционных системах счисления
Рассмотрим основные арифметические операции: сложение, вычитание, умножение и деление. Правила выполнения этих операций в десятичной системе хорошо известны - это сложение, вычитание, умножение столбиком и деление углом. Эти правила применимы и ко всем другим позиционным системам счисления. Только таблицами сложения и умножения надо пользоваться особыми для каждой системы.
Сложение
При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево
При сложении двоичных чисел в каждом разряде производится сложение цифр слагаемых и переноса из соседнего младшего разряда, если он имеется. При этом необходимо учитывать, что 1+1 дают нуль в данном разряде и единицу переноса в следующий.
Например :
Выполнить сложение двоичных чисел:
а) X=1101, Y=101;
Результат 1101+101=10010.
б) X=1101, Y=101, Z=111;
Результат 1101+101+111=11001.
Таблица сложения в 8-ой системе счисления
2+2=4 | 3+2=5 | 4+2=6 | 5+2=7 | 6+2=10 | 7+2=11 |
2+3=5 | 3+3=6 | 4+3=7 | 5+3=10 | 6+3=11 | 7+3=12 |
2+4=6 | 3+4=7 | 4+4=10 | 5+4=11 | 6+4=12 | 7+4=13 |
2+5=7 | 3+5=10 | 4+5=11 | 5+5=12 | 6+5=13 | 7+5=14 |
2+6=10 | 3+6=11 | 4+6=12 | 5+6=13 | 6+6=14 | 7+6=15 |
2+7=11 | 3+7=12 | 4+7=13 | 5+7=14 | 6+7=15 | 7+7=16 |
Таблица сложения в 16-ой системе счисления
+ | A | B | C | D | E | F | ||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | B | C | D | E | F | |||||||||||
A | A | B | C | D | E | F | ||||||||||
B | B | C | D | E | F | 1A | ||||||||||
C | C | D | E | F | 1A | 1B | ||||||||||
D | D | E | F | 1A | 1B | 1C | ||||||||||
E | E | F | 1A | 1B | 1C | 1D | ||||||||||
F | F | 1A | 1B | 1C | 1D | 1E |
Рассмотрим способы перевода чисел из одной системы счисления в другую.
а) Перевод двоичного числа в десятичное.
Необходимо сложить двойки в степенях, соответствующих позициям, где в двоичном стоят единицы. Например:
Возьмем число 20. В двоичной системе оно имеет следующий вид: 10100.
Итак (считаем слева направо, считая от 4 до 0; число в нулевой степени всегда равно единице)
10100 = 1*2 4 + 0*2 3 + 1*2 2 + 0*2 1 + 0*2 0 = 20
16+0+4+0+0 = 20.
б) Перевод десятичного числа в двоичное.
Необходимо делить его на два, записывая остаток справа налево:
20/2 = 10, остаток 0
10/2=5, остаток 0
5/2=2, остаток 1
2/2=1, остаток 0
1/2=0, остаток 1
В результате получаем: 10100 = 20
в) Перевод шестнадцатеричного числа в десятичное.
В шестнадцатеричной системе номер позиции цифры в числе соответствует степени, в которую надо возвести число 16:
8A = 8*16 + 10 (0A) = 138
Напоследок приведем алгоритм перевода в двоичную и из двоичной системы, предлагаемый Л. Радюком.
Пусть А(цд) - целое десятичное число. Запишем его в виде суммы степеней основания 2 с двоичными коэффициентами. В его записи в развёрнутой форме будут отсутствовать отрицательные степени основания (числа 2):
A(цд) = a(n-1) * 2^(n-1) + a(n-2) * 2^(n-2) + … + a(1) * 2^1 + a(0) * 2^0.
На первом шаге разделим число А(цд) на основание двоичной системы, то есть на 2. Частное от деления будет равно:
a(n-1) * 2^(n-2) + a(n-2) * 2^(n-3) + … + a(1), а остаток равен a(0).
На втором шаге целое частное опять разделим на 2, остаток от деления будет теперь равен a(1).
Если продолжать этот процесс деления, то после n-го шага получим последовательность остатков:
a(0), a(1),…, a(n-1).
Легко заметить, что их последовательность совпадает с обратной последовательностью цифр целого двоичного числа, записанного в свёрнутой форме:
A(2) = a(n-1)…a(1)a(0).
Таким образом, достаточно записать остатки в обратной последовательности, чтобы получить искомое двоичное число.
Тогда сам алгоритм будет следующим:
1. Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получится частное, меньшее делителя, то есть меньше 2.
2. Записать полученные остатки в обратной последовательности, а слева добавить последнее частное.
Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных цифр. Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трёх двоичных цифр триаду, а при преобразовании шестнадцатеричного числа в группу из четырёх цифр тетраду.
ЗАКЛЮЧЕНИЕ
Подводя итоги работы, можно сделать следующие выводы.
Позиционная система счисления состоит в использовании ограниченного числа цифр, зато позиция каждой цифры в числе обеспечивает значимость (вес) этой цифры. Позиция цифры в числе на математическом языке называется разрядом.
Основание позиционной системы счисления это количество различных знаков или символов (цифр), используемых для отображения чисел в данной системе.
Для того чтобы двоичные числа, отличающиеся довольно значительной длиной, было легче воспринимать и отображать, их сжимают в восьмеричную и шестнадцатеричную системы счисления.
В компьютерных технологиях все виды информации кодируются только цифрами или, точнее, числами, которые представляются в двоичной системе счисления способе представления любых чисел с помощью двух знаков (цифр) по позиционному принципу.
Правила перевода чисел из одной системы счисления в другую
Поскольку одно и то же число может быть записано в различных системах счисления (например, ), то встает вопрос о переводе представления числа из одной системы в другую. Правила перевода для целых и дробных чисел отличаются.
Для перевода чисел из любой системы счисления в десятичную можно воспользоваться формулой (1).
Пример. Перевести в десятичную систему счисления числа
Решение:
Перевод целых чисел из одной системы счисления в другую
1. Делить заданное число на новое основание, записанное в виде числа со старым основанием до получения остатка.
2. Полученное частное следует вновь делить на новое основание, и этот процесс надо повторять до тех пор, пока частное не станет меньше делителя.
3. Полученные остатки от деления и последнее частное записываются в порядке обратном полученному при делении.
Решение:
Перевод дробных чисел из одной системы счисления в другую
Умножить заданное число на новое основание, записанное в виде числа со старым основанием. При каждом умножении целая часть произведения берется в виде очередной цифры соответствующего разряда, а оставшаяся дробная часть принимается за новое множимое. Число умножений определяет разрядность полученного результата.
Пример. Перевести число в двоичную, восьмеричную, шестнадцатеричную системы счисления.
Решение:
Решение: Переведем отдельно целую и дробную части числа в двоичную систему счисления.
.
Соединяя целую и дробную части, получим
Так как двоичная, восьмеричная и шестнадцатеричная системы счисления связаны друг с другом через степени 2, то преобразования между ними можно выполнять более простым способом.
1. Для перевода из шестнадцатеричной (восьмеричной) системы счисления в двоичную достаточно двоичным кодом записать шестнадцатеричные (восьмеричные) коды цифр тетрадами (триадами).
2. Обратный перевод из двоичного кода производится в обратном порядке: двоичное число разбивается влево и вправо от запятой на тетрады для последующей записи цифр в шестнадцатеричном представлении и на триады – для записи их значений восьмеричными цифрами.
3. При переходе из восьмеричной системы счисления в шестнадцатеричную и обратно используется вспомогательный, двоичный код числа.
Пример. Перевести число в восьмеричную, шестнадцатеричную системы счисления.
Решение:
Пример. Перевести число в двоичную систему счисления.
Решение:
Способы перевода чисел из одной системы счисления в другую.
Перевод чисел из одной позиционной системы счисления в другую: перевод целых чисел.
Чтобы перевести целое число из одной системы счисления с основанием d1 в другую с основанием d2 необходимо последовательно делить это число и получаемые частные на основание d2 новой системы до тех пор, пока не получится частное меньше основания d2. Последнее частное - старшая цифра числа в новой системе счисления с основанием d2, а следующие за ней цифры - это остатки от деления, записываемые в последовательности, обратной их получению. Арифметические действия выполнять в той системе счисления, в которой записано переводимое число.
Пример 1. Перевести число 11(10) в двоичную систему счисления.
Ответ: 11(10)=1011(2).
Пример 2. Перевести число 122(10) в восьмеричную систему счисления.
Ответ: 122(10)=172(8).
Пример 3. Перевести число 500(10) в шестнадцатеричную систему счисления.
Ответ: 500(10)=1F4(16).
Перевод чисел из одной позиционной системы счисления в другую: перевод правильных дробей.
Чтобы перевести правильную дробь из системы счисления с основанием d1 в систему с основанием d2, необходимо последовательно умножать исходную дробь и дробные части получающихся произведений на основание новой системы счисления d2. Правильная дробь числа в новой системе счисления с основанием d2 формируется в виде целых частей получающихся произведений, начиная с первого.
Если при переводе получается дробь в виде бесконечного или расходящегося ряда, процесс можно закончить при достижении необходимой точности.
При переводе смешанных чисел, необходимо в новую систему перевести отдельно целую и дробную части по правилам перевода целых чисел и правильных дробей, а затем оба результата объединить в одно смешанное число в новой системе счисления.
Пример 1. Перевести число 0,625(10) в двоичную систему счисления.
Ответ: 0,625(10)=0,101(2).
Пример 2. Перевести число 0,6(10) в восьмеричную систему счисления.
Ответ: 0,6(10)=0,463(8).
Пример 2. Перевести число 0,7(10) в шестнадцатеричную систему счисления.
Ответ: 0,7(10)=0,В333(16).
Перевод двоичных, восьмеричных и шестнадцатеричных чисел в десятичную систему счисления.
Для перевода числа P-ичной системы в десятичную необходимо использовать следующую формулу разложения:
аnan-1…а1а0=аnPn+ аn-1Pn-1+…+ а1P+a0 .
Пример 1. Перевести число 101,11(2) в десятичную систему счисления.
Ответ: 101,11(2)= 5,75(10) .
Пример 2. Перевести число 57,24(8) в десятичную систему счисления.
Ответ: 57,24(8) = 47,3125(10) .
Пример 3. Перевести число 7A,84(16) в десятичную систему счисления.
Ответ: 7A,84(16)= 122,515625(10) .
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему счисления и обратно.
Для перевода числа из восьмеричной системы счисления в двоичную необходимо каждую цифру этого числа записать трехразрядным двоичным числом (триадой).
Пример: записать число 16,24(8) в двоичной системе счисления.
Ответ: 16,24(8)= 1110,0101(2) .
Для обратного перевода двоичного числа в восьмеричную систему счисления, необходимо исходное число разбить на триады влево и вправо от запятой и представить каждую группу цифрой в восьмеричной системе счисления. Крайние неполные триады дополняют нулями.
Пример: записать число 1110,0101(2) в восьмеричной системе счисления.
Ответ: 1110,0101(2)= 16,24(8) .
Для перевода числа из шестнадцатеричной системы счисления в двоичную необходимо каждую цифру этого числа записать четырехразрядным двоичным числом (тетрадой).
Пример: записать число 7A,7E(16) в двоичной системе счисления.
Ответ: 7A,7E(16)= 1111010,0111111(2) .
Примечание: незначащие нули слева для целых чисел и справа для дробей не записываются.
Для обратного перевода двоичного числа в шестнадцатеричную систему счисления, необходимо исходное число разбить на тетрады влево и вправо от запятой и представить каждую группу цифрой в шестнадцатеричной системе счисления. Крайние неполные триады дополняют нулями.
Пример: записать число 1111010,0111111(2) в шестнадцатеричной системе счисления.
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней двойки:
Таблица 4. Степени числа 2
n (степень) |
|||||||||||
Пример.
2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней восьмерки:
Таблица 5. Степени числа 8
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней числа 16:
Таблица 6. Степени числа 16
n (степень) |
|||||||
Пример. Число перевести в десятичную систему счисления.
4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в двоичную систему счисления.
5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в восьмеричную систему счисления.
6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в шестнадцатеричную систему счисления.