А в 16 системе счисления. Для чего нужна шестнадцатеричная система счисления. Перевод из любой системы счисления в десятичную
Десятичная система | 16-ричная система | Десятичная система | 16-ричная система |
---|---|---|---|
0 | 0 (0000) | 10 | A (1010) |
1 | 1(0001) | 11 | B (1011) |
2 | 2 (0010) | 12 | C (1100) |
3 | 3 (0011) | 13 | D (1101) |
4 | 4 (0100) | 14 | E (1110) |
5 | 5 (0101) | 15 | F (1111) |
6 | 6 (0110) | 16 | 10 (00010000) |
7 | 7 (0111) | 17 | 11 (00010001) |
8 | 8 (1000) | 18 | 12 (00010010) |
9 | 9 (1001) | 19 | 13 (00010011) |
Для перевода 16-ричного числа в десятичное необходимо умножить значение младшего (нулевого) разряда на единицу, значение следующего (первого) разряда на 16, второго разряда на 256 (16 2) и т.д., а затем сложить все произведения. Например, возьмем число A17F :
A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343
Десятичная система | 8-ричная система | Десятичная система | 8-ричная система |
---|---|---|---|
0 | 0 (000) | 10 | 12 (001010) |
1 | 1(001) | 11 | 13 (001011) |
2 | 2 (010) | 12 | 14 (001100) |
3 | 3 (011) | 13 | 15 (001101) |
4 | 4 (100) | 14 | 16 (001110) |
5 | 5 (101) | 15 | 17 (001111) |
6 | 6 (110) | 16 | 20 (010000) |
7 | 7 (111) | 17 | 21 (010001) |
8 | 10 (001000) | 18 | 22 (010010) |
9 | 11 (001001) | 19 | 23 (010011) |
Но каждому специалисту по цифровой аппаратуре (разработчику, оператору, ремонтнику, программисту и т.д.) необходимо научиться так же свободно обращаться с 16-ричной и двоичной системами, как и с обычной десятичной, чтобы никаких переводов из системы в систему не требовалось.
Значительно реже, чем 16-ричное, используется восьмеричное кодирование , которое строится по такому же принципу, что и 16-ричное, но двоичные разряды разбиваются на группы по три разряда. Каждая группа (разряд кода) затем обозначается одним символом. Каждый разряд 8-ричного кода может принимать восемь значений: 0, 1, 2, 3, 4, 5, 6, 7 (табл. 2.5) .
Помимо рассмотренных кодов, существует также и так называемое двоично-десятичное представление чисел. Как и в 16-ричном коде, в двоично-десятичном коде каждому разряду кода соответствует четыре двоичных разряда, однако каждая группа из четырех двоичных разрядов может принимать не шестнадцать, а только десять значений, кодируемых символами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. То есть одному десятичному разряду соответствует четыре двоичных. В результате получается, что написание чисел в двоично-десятичном коде ничем не отличается от написания в обычном десятичном коде (табл. 2.6) , но в реальности это всего лишь специальный двоичный код, каждый разряд которого может принимать только два значения: 0 и 1. Двоично-десятичный код иногда очень удобен для организации десятичных цифровых индикаторов и табло.
Десятичная система | Двоично-десятичная система | Десятичная система | Двоично-десятичная система |
---|---|---|---|
0 | 0 (0000) | 10 | 10 (00010000) |
1 | 1(0001) | 11 | 11 (00010001) |
2 | 2 (0010) | 12 | 12 (00010010) |
3 | 3 (0011) | 13 | 13 (00010011) |
4 | 4 (0100) | 14 | 14 (00010100) |
5 | 5 (0101) | 15 | 15 (00010101) |
6 | 6 (0110) | 16 | 16 (00010110) |
7 | 7 (0111) | 17 | 17 (00010111) |
8 | 8 (1000) | 18 | 18 (00011000) |
9 | 9 (1001) | 19 | 19 (00011001) |
В двоичном коде над числами можно проделывать любые арифметические операции : сложение , вычитание , умножение , деление .
Рассмотрим, например, сложение двух 4-разрядных двоичных чисел. Пусть надо сложить число 0111 (десятичное 7) и 1011 (десятичное 11). Сложение этих чисел не сложнее, чем в десятичном представлении:
При сложении 0 и 0 получаем 0, при сложении 1 и 0 получаем 1, при сложении 1 и 1 получаем 0 и перенос в следующий разряд 1. Результат - 10010 (десятичное 18). При сложении любых двух n-разрядных двоичных чисел может получиться n-разрядное или (n+1) -разрядное число.
Точно так же производится вычитание . Пусть из числа 10010 (18) надо вычесть число 0111 (7). Записываем числа с выравниванием по младшему разряду и вычитаем точно так же, как в случае десятичной системы:
При вычитании 0 из 0 получаем 0, при вычитании 0 из 1 получаем 1, при вычитании 1 из 1 получаем 0, при вычитании 1 из 0 получаем 1 и заем 1 в следующем разряде. Результат - 1011 (десятичное 11).
При вычитании возможно получение отрицательных чисел, поэтому необходимо использовать двоичное представление отрицательных чисел.
Для одновременного представления как двоичных положительных, так и двоичных отрицательных чисел чаще всего используется так называемый дополнительный код . Отрицательные числа в этом коде выражаются таким числом, которое, будучи сложено с положительным числом такой же величины, даст в результате нуль. Для того чтобы получить отрицательное число, надо поменять все биты такого же положительного числа на противоположные (0 на 1, 1 на 0) и прибавить к результату 1. Например, запишем число –5. Число 5 в двоичном коде выглядит 0101. Заменяем биты на противоположные: 1010 и прибавляем единицу: 1011. Суммируем результат с исходным числом: 1011 + 0101 = 0000 (перенос в пятый разряд игнорируем).
по модулю 2 два двоичных числа 0111 и 1011:
Среди других побитовых операций над двоичными числами можно отметить функцию И и функцию ИЛИ. Функция И дает в результате единицу только тогда, когда в соответствующих битах двух исходных чисел обе единицы, в противном случае результат -0. Функция ИЛИ дает в результате единицу тогда, когда хотя бы один из соответствующих битов исходных чисел равен 1, в противном случае результат 0.
1. Порядковый счет в различных системах счисления.
В современной жизни мы используем позиционные системы счисления, то есть системы, в которых число, обозначаемое цифрой, зависит от положения цифры в записи числа. Поэтому в дальнейшем мы будем говорить только о них, опуская термин «позиционные».
Для того чтобы научиться переводить числа из одной системы в другую, поймем, как происходит последовательная запись чисел на примере десятичной системы.
Поскольку у нас десятичная система счисления, мы имеем 10 символов (цифр) для построения чисел. Начинаем порядковый счет: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифры закончились. Мы увеличиваем разрядность числа и обнуляем младший разряд: 10. Затем опять увеличиваем младший разряд, пока не закончатся все цифры: 11, 12, 13, 14, 15, 16, 17, 18, 19. Увеличиваем старший разряд на 1 и обнуляем младший: 20. Когда мы используем все цифры для обоих разрядов (получим число 99), опять увеличиваем разрядность числа и обнуляем имеющиеся разряды: 100. И так далее.
Попробуем сделать то же самое в 2-ной, 3-ной и 5-ной системах (введем обозначение для 2-ной системы, для 3-ной и т.д.):
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 10 | 3 |
4 | 100 | 11 | 4 |
5 | 101 | 12 | 10 |
6 | 110 | 20 | 11 |
7 | 111 | 21 | 12 |
8 | 1000 | 22 | 13 |
9 | 1001 | 100 | 14 |
10 | 1010 | 101 | 20 |
11 | 1011 | 102 | 21 |
12 | 1100 | 110 | 22 |
13 | 1101 | 111 | 23 |
14 | 1110 | 112 | 24 |
15 | 1111 | 120 | 30 |
Если система счисления имеет основание больше 10, то нам придется вводить дополнительные символы, принято вводить буквы латинского алфавита. Например, для 12-ричной системы кроме десяти цифр нам понадобятся две буквы ( и ):
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | |
11 | |
12 | 10 |
13 | 11 |
14 | 12 |
15 | 13 |
2.Перевод из десятичной системы счисления в любую другую.
Чтобы перевести целое положительное десятичное число в систему счисления с другим основанием, нужно это число разделить на основание. Полученное частное снова разделить на основание, и дальше до тех пор, пока частное не окажется меньше основания. В результате записать в одну строку последнее частное и все остатки, начиная с последнего.
Пример 1. Переведем десятичное число 46 в двоичную систему счисления.
Пример 2. Переведем десятичное число 672 в восьмеричную систему счисления.
Пример 3. Переведем десятичное число 934 в шестнадцатеричную систему счисления.
3. Перевод из любой системы счисления в десятичную.
Для того, чтобы научиться переводить числа из любой другой системы в десятичную, проанализируем привычную нам запись десятичного числа.
Например, десятичное число 325 – это 5 единиц, 2 десятка и 3 сотни, т.е.
Точно так же обстоит дело и в других системах счисления, только умножать будем не на 10, 100 и пр., а на степени основания системы счисления. Для примера возьмем число 1201 в троичной системе счисления. Пронумеруем разряды справа налево начиная с нуля и представим наше число как сумму произведений цифры на тройку в степени разряда числа:
Это и есть десятичная запись нашего числа, т.е.
Пример 4. Переведем в десятичную систему счисления восьмеричное число 511.
Пример 5. Переведем в десятичную систему счисления шестнадцатеричное число 1151.
4. Перевод из двоичной системы в систему с основанием «степень двойки» (4, 8, 16 и т.д.).
Для преобразования двоичного числа в число с основанием «степень двойки» необходимо двоичную последовательность разбить на группы по количеству цифр равному степени справа налево и каждую группу заменить соответствующей цифрой новой системы счисления.
Например, Переведем двоичное 1100001111010110 число в восьмеричную систему. Для этого разобьем его на группы по 3 символа начиная справа (т.к. ), а затем воспользуемся таблицей соответствия и заменим каждую группу на новую цифру:
Таблицу соответствия мы научились строить в п.1.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
Т.е.
Пример 6. Переведем двоичное 1100001111010110 число в шестнадцатеричную систему.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
5.Перевод из системы с основанием «степень двойки» (4, 8, 16 и т.д.) в двоичную.
Этот перевод аналогичен предыдущему, выполненному в обратную сторону: каждую цифру мы заменяем группой цифр в двоичной системе из таблицы соответствия.
Пример 7. Переведем шестнадцатеричное число С3A6 в двоичную систему счисления.
Для этого каждую цифру числа заменим группой из 4 цифр (т.к. ) из таблицы соответствия, дополнив при необходимости группу нулями вначале:
Возникли какие-то трудности и недопонимания с преобразованием чисел из двоичной в шестнадцатеричную систему счисления? Записывайтесь ко мне на индивидуальные уроки по информатике и ИКТ. На своих частных уроках мы с учениками разбираем не только теоретическую часть, но также решаем колоссальное количество различных тематических упражнений.
Нужно знать, что такое двоичная или бинарная система счисления
Прежде чем размышлять о том, как перевести число из 2 в 16, необходимо хорошо понимать, что собою представляют числа в двоичной системе счисления. Напомню, что алфавит бинарной системы счисления состоит из двух допустимых элементов – 0 и 1 . Это означает, что абсолютно любое число, записанное в двоичном виде, будет состоять из набора нулей и единиц. Вот примеры чисел, записанных в бинарном представлении: 10010, 100, 111101010110, 1000001.
Нужно знать, что такое шестнадцатеричная система счисления
С бинарной системой мы разобрались, вспомнили базовые моменты, сейчас поговорим о 16-ричной системе. Алфавит 16-ричной системы счисления состоит из шестнадцати различных знаков: 10 арабских цифр (от 0 до 9) и 6 первых заглавных латинских букв (от "А" до "F"). Это означает, что абсолютно любое число, записанное в шестнадцатеричном виде, будет состоять из знаков вышеприведенного алфавита. Вот примеры чисел, записанных в 16-ричном представлении:
810A | FCDF | 198303 | 100FFF0 |
Поговорим об алгоритме преобразования числа из 2-ной в 16-ричную систему счисления
Нам потребуется в обязательном порядке рассмотреть кодировочную таблицу Тетрад. Без применения данной таблицы будет довольно затруднительно оперативно осуществлять перевод чисел из 2 в 16 систему.
Назначение кодировочной таблицы Тетрад: однозначно сопоставить символы двоичной системы счисления и 16-ричной системы счисления.
Таблица Тетрад имеет следующую структуру:
Таблица Тетрад |
|||||||
0000 - 0 | 0001 - 1 | 0010 - 2 | 0011 - 3 | 0100 - 4 | 0101 - 5 | 0110 - 6 | 0111 - 7 |
1000 - 8 | 1001 - 9 | 1010 - A | 1011 - B | 1100 - C | 1101 - D | 1110 - E | 1111 - F |
Допустим нам требуется преобразовать число 101011111001010 2 в 16-ричную систему. В первую очередь необходимо исходный бинарный код разбить на группы по четыре разряда, причем, что очень важно, разбиение в обязательном порядке следует начинать справа налево.
101 . 0111 . 1100 . 1010
После разбиения мы получили четыре группы: 101, 0111, 1100 и 1010. Особого внимания требует самый левый сегмент, то есть сегмент 101. Как видно, его длина составляет 3 разряда, а необходимо, чтобы его длина равнялась четырем, следовательно, дополним данный сегмент ведущим незначащим нулем:
101 -> 0 101.
Вы скажите, а собственно на каком основании мы дописываем слева от числа какой-то 0? Все дело в том, что добавление незначащих нулей не оказывает никакого влияния на значение исходного числа. Следовательно, мы имеем полное право дописать слева от бинарного числа не только один ноль, а в принципе любое количество нулей и получить число нужной длины.
На заключительном этапе преобразования необходимо каждую из полученных бинарных групп перевести в соответствующее значение по кодировочной таблице Тетрад.
0101 -> 5 | 0111 -> 7 | 1100 -> C | 1010 -> A |
101011111001010 2 = 57СА 16
А сейчас я вам предлагаю ознакомиться с мультимединым решением, в котором показано как преобразуется из бинарного состояния в 16-ричное состояние:
Краткие выводы
В данной небольшой статье мы разобрали тему «Системы счисления: как перевести из 2 в 16 ». Если у вас остались какие-либо вопросы, недопонимания, то звоните и записывайтесь на мои индивидуальные уроки по информатике и программированию. Я предложу вам решить не один десяток подобных упражнений и у вас не останется ни одного вопроса. Вообще, системы счисления – чрезвычайно важная тема, которая образует фундамент, используемый на протяжении всего курса .
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
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. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в шестнадцатеричную систему счисления.
Возникла в древнем Вавилоне. В Индии система работает в виде позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел позаимствовала арабская нация, у них, в свою очередь, взяли европейцы. В Европе эту систему стали называть арабской.
Позиционная система счисления — значение всех цифр зависит от позиции (разряда) данной цифры в числе.
Примеры , стандартная десятичная система счисления - это позиционная система. Допустим, дано число 453 . Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50 , а 3 — единицы и значению 3 . Легко заметить, что с увеличением разряда увеличивается значение. Таким образом, заданное число запишем в виде суммы 400+50+3=453.
Шестнадцатеричная система счисления.
Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления. Основанием шестнадцатеричной системы счисления является число 16.
Записывая числа в восьмеричной системе счисления мы получаем довольно компактные выражения, однако в шестнадцатеричной системе мы получаем выражения более компактными.
Первыми десятью цифрами из шестнадцати шестнадцатеричных цифрах является стандартный интервал 0 - 9 , последующие шесть цифр выражают при помощи первых букв латинского алфавита: A , B , C , D , E , F . Перевод из шестнадцатеричной системы в двоичную систему и в обратную сторону делают аналогично процессу для восьмеричной системы.
Применение шестнадцатеричной системы счисления.
Шестнадцатеричную систему счисления довольно хорошо используют в современных компьютерах, например с ее помощью указывают цвет: #FFFFFF — белый цвет.
Перевод чисел из одной системы счисления в другую.
Перевод чисел из шестнадцатеричной системы в десятичную.
Что бы перевести шестнадцатеричное число в десятичное , нужно заданное число привести к виду суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например , переведем шестнадцатеричное число 5A3 в десятичное. Здесь 3 цифры. Исходя их выше сказанного правила, приведем его к виду суммы степеней с основанием 16:
5A3 16 = 3·16 0 +10·16 1 +5·16 2 = 3·1+10·16+5·256 = 3+160+1280 = 1443 10
Перевод чисел из двоичной системы в шестнадцатеричную и наоборот.
Для перевода многозначного двоичного числа в шестнадцатеричную систему необходимо разделить его на тетрады справа налево и поменять все тетрады соответствующей шестнадцатеричной цифрой. Для перевода числа из шестнадцатеричной системы в двоичную необходимо поменять каждую все цифры на соответствующие тетрады из таблицы перевода, которую вы найдете ниже.
Например :
010110100011 2 = 0101 1010 0011 = 5A3 16
Таблица перевода чисел.
Алгоритм перевода чисел из одной системы счисления в другую.
1. Из десятичной системы счисления:
- делим число на основание переводимой системы счисления;
- находим остаток от деления целой части числа;
- записываем все остатки от деления в обратном порядке;
2. Из двоичной системы счисления:
- для перевода в десятичную систему счисления находим сумму произведений основания 2 на соответствующую степень разряда;
- для перевода числа в восьмеричную разбиваем число на триады.
Например, 1000110 = 1 000 110 = 1068
- для перевода числа из двоичной системы счисления в шестнадцатеричную разбиваем число на группы по 4 разряда.
Например, 1000110 = 100 0110 = 4616.
Таблицы для перевода:
Двоичная СС |
Шестнадцатеричная СС |
0000 |
|
0001 |
|
0010 |
|
0011 |
|
0100 |
|
0101 |
|
0110 |
|
0111 |
|
1000 |
|
1001 |
|
1010 |
|
1011 |
|
1100 |
|
1101 |
|
1110 |
|
1111 |
Двоичная СС |