Преобразование между десятичными, шестнадцатеричными и двоичными числами


Содержание

Преобразование чисел из одной системы счисления в другую

Достаточно часто требуется уметь переводить число из одной системы счисления в другую. Давайте научимся выполнять такое действие. Преобразование целых чисел и правильных дробей выполняется по разным правилам. В действительном числе преобразование целой и дробной части производят по отдельности.

Преобразование целых чисел

Для перевода необходимо исходное число разделить на основание новой системы счисления до получения целого остатка, который является младшим разрядом числа в новой системе счисления (единицы). Полученное частное снова делим на основание системы и так до тех пор, пока частное не станет меньше основания новой системы счисления. Все операции выполняются в исходной системе счисления.

Рассмотрим для примера перевод числа из десятичной системы счисления в двоичную систему счисления.

Возьмём десятичное число и поделим его на основание двоичной системы, то есть число 2. Деление будем производить уголком:

В результате первого деления получим разряд единиц (самый младший разряд). В результате второго деления получим разряд двоек. Деление продолжаем, пока результат деления больше двух. В конце операции преобразования мы получили двоичное число 11111002.

Теперь то же самое число переведём в восьмеричную систему счисления. Для этого число 12410 разделим на число 8:

Как мы видим, остаток от первого деления равен 4. То есть младший разряд восьмеричного числа содержит цифру 4. Остаток от второго деления равен 7. то есть второй разряд восьмеричного числа – это цифра 7. Старший разряд получился равным 1. То есть в результате многократного деления мы получили восьмеричное число 1748.

Проверим, не ошиблись ли мы в процессе преобразования? Для этого преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:

;А можно ли осуществить перевод из восьмеричной системы счисления в двоичную делением? Можно! Но деление нужно произвести по правилам восьмеричной арифметики. Правила работы в восьмеричной системе счисления мы рассмотрим в следующей главе. Тем не менее, для полноты материала, рассмотрим пример перевода в двоичную форму полученного ранее восьмеричного числа 1748. Разделим его на основание новой системы счисления 2.

Как мы убедились выполнять деление в восьмеричной системе очень неудобно, ведь подсознательно мы делим в десятичной системе счисления. Давайте обратим внимание на то, что число 8 является степенью числа 2. То есть можно считать восьмеричную систему счисления просто более короткой записью двоичного числа. Это означает, что для представления восьмеричной цифры можно использовать три двоичных бита (8=2 3 ). Давайте составим таблицу соответствия. Она приведена в таблице 1.

Таблица 1. Таблица соответствия восьмеричных цифр и двоичного кода

Двоичный код Восьмеричная цифра Десятичный эквивалент
000
001 1 1
010 2 2
011 3 3
100 4 4
101 5 5
110 6 6
111 7 7

Используя эту таблицу можно просто заменить каждую восьмеричную цифру тремя двоичными битами. Три двоичных бита обычно называют триадой или трибитом. Теперь давайте переведём восьмеричное число 1748 в двоичную форму при помощи таблицы 7:

Аналогично можно выполнить перевод числа из двоичной системы в восьмеричную. Для этого двоичное число разбивают на триады относительно крайнего правого разряда (или двоичной запятой) и, используя таблицу 7, каждой триаде ставят в соответствие восьмеричную цифру.

Аналогичным образом можно выполнить перевод числа из шестнадцатеричной формы в двоичную и обратно. В этом случае для представления шестнадцатеричной цифры потребуется четыре двоичных разряда. Четыре двоичных разряда обычно называют тетрадой. Иногда при переводе иностранных книг используется термин нибл.

Давайте составим таблицу соответствия двоичных тетрад и шестнадцатеричных цифр. Для этого мы будем просто прибавлять единицу к значению предыдущей строки в каждом столбце таблицы, в соответствии с используемой в этом столбце системой счисления. Результат приведён в таблице 2.

В качестве примера использования таблицы 2 переведем шестнадцатеричное число 7С16 в двоичную форму представления:

Таблица 2. Таблица соответствия шестнадцатеричных цифр и двоичного кода

Двоичный код Восьмеричная цифра Десятичный эквивалент
0000
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 a a
1011 b b
1100 c c
1101 d d
1110 e e
1111 f f

Пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму приведён на рисунке 1.

Рисунок 1. Пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму.

На этом рисунке внизу выделены двоичные тетрады и соответствующие им шестнадцатеричные цифры. Их соответствие можно проверить при помощи таблицы 2. Сверху выделены триады и соответствующие им восьмеричные цифры. Старшая триада получилась неполной. Её нужно дополнить старшими незначащими нулями для того, чтобы можно было бы воспользоваться таблицей 1.

Вместе со статьей «Преобразование чисел из одной системы счисления в другую» читают:

Преобразование между двоичной, восьмеричной и шестнадцатеричной системами счисления

СИСТЕМЫ СЧИСЛЕНИЯ

Система счисления способ представления чисел, опирающийся на некоторое конечное число знаков, называемых цифрами.

Происхождение наиболее употребительной десятичной системы связано с пальцевым счетом. В России до XVIII в. существовала де­сятичная система счисления, основанная на буквах алфавита , , и т.д. Начертание этих цифр произошло от греческих букв , , и др. Совре­менная десятичная система основана на десяти цифрах, начертание которых сформировалось в Индии к V в. и пришло в Европу с арабскими рукописями, в связи с чем цифры получили название «арабские». В некоторых странах применяли и другие системы счисления, например, в Китае – пятеричную. Существовавшая в Древнем Вавилоне шестидесятеричная система сохранилась в наши дни в делении часа и градуса угла на 60 минут и минут на 60 секунд. Древние евреи использовали как десятичную, так и двенадцатеричную системы счисле­ния.

В зависимости от способа изображения чисел системы счисления делятся на пози­ционные и непозиционные. Каждая цифра в числе, записанном в позиционной системе счисления, несет двойную информационную нагрузку:

2) разряд, т.е. позицию, на которой цифра находится в числе.

Например, в десятичном числе 7 313 цифра 3 (та, что левее) означает, что:

1) она находится во втором разряде (отсчет разрядов ведется справа, начиная с нуля), т.е. соответствует разряду сотен;

2) количество этих сотен равно 3.

В любой позиционной системе счисления любое число x может быть представлено в следующем виде:

Здесь – количество цифр, используемых для записи чисел в данной системе счисления (основание системы счисления);

­– числовые коэффициенты, причем положительные значения индексов соответствуют цифрам в целой части числа, а отрицательные – в дробной.

Пример. Десятичное число 7 313, 49 в виде (1) представляется следующим образом:

7 313, 4910 = 7 · 10 3 + 3 · 10 2 + 1 · 10 1 + 3 · 10 0 + 4 · 10 -1 + 9 · 10 -2 .

Тогда коэффициенты его разложения будут равны

Приведем некоторые примеры позиционных систем счисления.

Система счисления Основание Цифры
Двоичная 0, 1
Восьмеричная 0, 1, 2, 3, 4, 5, 6, 7
Десятичная 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

Общепринятая десятичная система счисления оказывается неудобной для технической реализации, поскольку необходимо различные цифры кодировать десятью различными способами. Поэтому для внутреннего представления чисел в компьютере используется двоичная система счисления – в виде сигналов низкого (0) или высокого (1) уровней. Представление чисел в десятичной системе счисления проводится только на этапе получения информации от пользователя и на этапе выдачи результата.

Установим соответствие между записями чисел в системах счисления, представленных в табл. 1.

Десятичное число Двоичное число Восьмеричное число Шестнадцатеричное число
A
B
C
D
E
F

Несмотря на удобство технической реализации, двоичная система обладает существенным недостатком – громоздкостью записи чисел. Поэтому для сокращения записи используется восьмеричная или шестнадцатеричная форма записи двоичного числа.

Кроме позиционных систем счисления су­ществуют системы, в которых значение цифры не зависит от той позиции, которую она занимает в числе. Такие системы счисления называются непозиционными. Наи­более известным примером непозиционной системы счисления является римская система. В этой системе используется 7 знаков (I, V, X, L, С, D, М), которые соответствуют следующим величинам:

I (1), V (5), X (10), L (50), С (100), D (500), М (1000).

Например, десятичное число 7 313 в римской системе счисления запишется следующим образом:

Недостатком непозиционных систем счисления является отсутствие формальных правил записи чисел и, соответственно, арифметических действий над ними. Поэтому римские числа используются лишь при нумерации (глав в книгах, веков в истории и др.).

При работе с компьютерами приходится параллельно использовать несколько позиционных систем счисления, поэтому большое практическое значение имеют процедуры перевода чисел из одной системы счисления в другую.

Перевод целого десятичного числа в произвольную р-ичную систему счисления

Для преобразования целого числа x10 из десятичной системы счисления в р-ичную используется следующий алгоритм:

3) если x10 12 + 1·2 11 + 1·2 10 + 1·2 7 + 1·2 4 + 1·2 0 + 1·2 -1 + 1·2 -2 + 1·2 -5 + 1·2 -6 + 1·2 -7 =

= 4096 + 2048 + 1024 + 128 + 16 + 1 + 1/2 + 1/4 + 1/32 + 1/64 + 1/128 = 7 313,804687510,

16 221,6368 = 1·8 4 + 6·8 3 + 2·8 2 + 2·8 1 + 1·8 0 + 6·8 -1 + 3·8 -2 + 6·8 -3 = 2 12 + 6·2 9 + 2·2 6 + 2·2 3 + 1 + 6/2 3 + 3/2 6 + 6/2 9 = = 4096 + 6·512 + 128 + 16 + 1 + 6/8 + 3/64 + 6/512 = 7 313,8085937510,

1 C91,CF16 = 1·16 3 + 12·16 2 + 9·16 1 + 1·16 0 + 2·16 -1 + 15·16 -2 = 2 12 + 12·256 + 9·16 + 1 + 12/16 + 15/256 =

= 4096 + 12·256 + 9·16 + 1 + 12/16 + 15/256 = 7 313,8085937510.

Проверим, что исходные двоичное, восьмеричное и шестнадцатеричное числа равны десятичному числу 7 313,8110 с точностью до ε = 0,006:

Урок 32. Перевод чисел между системами счисления

Общие сведения:

При программировании мы часто сталкиваемся с необходимостью перевода чисел между системами счисления, по основанию: 2, 4, 8, 16 и 10.

Илон Маск рекомендует:  Рисование на JavaScript с помощью Paper.js, Processing.js, Raphael.js

Основание системы счисления указывает какое количество цифр используется в этой системе для написания чисел:

  • Привычная нам система счисления по основанию 10 (десятичная система счисления) использует 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. После 9 идёт не цифра, а число 10, состоящее из двух цифр: 1 и 0. Таким образом, мы записываем любые числа, используя указанные цифры в определённой последовательности.
  • Система счисления по основанию 2 (двоичная система счисления) использует 2 цифры: 0, 1.
  • Система счисления по основанию 4 (четверичная система счисления) использует 4 цифры: 0, 1, 2, 3.
  • Система счисления по основанию 8 (восьмеричная система счисления) использует 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7.
  • Система счисления по основанию 16 (шестнадцатеричная система счисления) использует 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. В данном случае, буквы ABCDEF являются цифрами. Цифра A шестнадцатеричной системы, равна числу 10 десятичной системы, цифра B равна числу 11 десятичной системы, . , цифра F равна числу 15 десятичной системы.

Можно использовать любую систему счисления, например по основанию 12 (счет дюжинами), но наиболее популярными при программировании, являются: десятичная, шестнадцатеричная и двоичная, системы счисления.

Все выше перечисленные системы счисления относятся к позиционным системам. Значение числа зависит не только от того из каких цифр оно состоит, но и в какой последовательности они записаны. Например число 1234 не равно числу 4321.

Методы представления чисел в разных системах счисления:

  • двоичная система счисления:
    • (10101)2 — математическое представление (число)основание системы
    • 0b10101 — представление в скетчах Arduino IDE (число записывается с ведущими символами «0b»).
    • B10101 — представление в скетчах Arduino IDE (число до 256 записывается с ведущим символом «B»).
  • восьмеричная система счисления:
    • (10101)8 — математическое представление (число)основание системы
    • 010101 — представление в скетчах Arduino IDE (число записывается с ведущим символом «0» ноль).
  • десятичная система счисления:
    • (10101)10 — математическое представление (число)основание системы
    • 10101 — представление в скетчах Arduino IDE (число записывается как есть без ведущих символов)
  • шестнадцатеричная система счисления:
    • (10101)16 — математическое представление (число)основание системы
    • 0x10101 — представление в скетчах Arduino IDE (число записывается с ведущими символами «0x»).

Перевод чисел в десятичную систему счисления:

Для перевода числа из любой системы счисления в десятичную нужно сложить все цифры этого числа, предварительно умножив каждое из них на основание системы счисления, из которой производится перевод, возведя её в степень соответствующую позиции цифры в числе:

Σ(цифра_числа * основание_системы позиция_цифры )

Примеры перевода чисел в десятичную систему счисления:

  • (101011)2 = 1*2 5 + *2 4 + 1*2 3 + *2 2 + 1*2 1 + 1*2 0 = 32+0+8+0+2+1 = (43)10.
  • (1357)8 = 1*8 3 + 3*8 2 + 5*8 1 + 7*8 0 = 512+192+40+7 = (751)10.
  • (3BC9)16 = 3*16 3 + B*16 2 + C*16 1 + 9*16 0 = 3*16 3 + 11*16 2 + 12*16 1 + 9*16 0 = 12288+2816+192+9 = (15305)10.

Перевод чисел из десятичной системы счисления:

Для перевода чисел из десятичной системы счисления в любую другую, необходимо целочисленно делить переводимое число на основание той системы, в которую мы хотим его перевести, до тех пор пока результат целочисленного деления не станет равен 0. Результатом перевода будут цифры остатка от каждого деления, в обратном порядке.

Примеры перевода чисел из десятичной системы счисления:

  • (43)10 перевести в двоичную систему счисления:
    • 43/2 = 21 и 1 в остатке
    • 21/2 = 10 и 1 в остатке
    • 10/2 = 5 и в остатке
    • 5/2 = 2 и 1 в остатке
    • 2/2 = 1 и в остатке
    • 1/2 = 0 и 1 в остатке
    • результат — цифры остатков в обратном порядке = (101011)2
  • (751)10 перевести в восьмеричную систему счисления:
    • 751/8 = 93 и 7 в остатке
    • 93/8 = 11 и 5 в остатке
    • 11/8 = 1 и 3 в остатке
    • 1/8 = 0 и 1 в остатке
    • результат — цифры остатков в обратном порядке = (1357)8
  • (15305)10 перевести в шестнадцатеричную систему счисления:
    • 15305/16 = 956 и 9 в остатке
    • 956/16 = 59 и 12 в остатке — соответствует цифре (C)16
    • 59/16 = 3 и 11 в остатке — соответствует цифре (B)16
    • 3/16 = 0 и 3 в остатке
    • результат — цифры остатков в обратном порядке = (3BC9)16

Простой метод перевода:

Легче всего переводить числа через двоичную систему счисления. О том как это сделать рассказано в нашем видеоуроке.

Преобразование десятичных чисел в двоичные числа

Пусть 1310 нужно перевести в двоичную систему счисления. Переход в этом случае осуществляется делением числа 1310, на основание системы счисления в которую мы переходим, в целых числах с выписыванием остатков деления, по следующей схеме:

13:2 = 6 остаток 1 это разряд весом 1

6 : 2 = 3 остаток 0 это разряд весом 2

3 : 2 = 1 остаток 1 это разряд весом 4

1 : 2 = 0 остаток 1 это разряд весом 8

Помня о том, что самый младший разряд всегда занимает крайнее правое место в записанном числе в любой системе счисления, выписываем результат:

Процесс перехода заканчивается в тот момент, когда очередной результат деления даст ноль (0) целых.

Вывод: остатки, от деления, выписанные в соответствии с весами разрядов, дадут искомое число.

Переведем еще одно число 3710 в двоичную систему счисления:

37:2 = 18 остаток 1

18:2 = 9 остаток 0

9 : 2 = 4 остаток 1

4 : 2 = 2 остаток 0

2 : 2 = 1 остаток 0

1 : 2 = 0 остаток 1

Отсюда 3410 = 1001012. Деление заканчивается в тот момент, когда имеем частное равное 0.

Перевод чисел из двоичной системы счисления в десятичную систему счисления.

Преобразование из двоичной системы счисления в десятичную осуществляется с помощью выражения вида: Xs=A 0S0+ A 1S1+ A 2S2+…, где Xs – число в S-й системе счисления, S – основание системы, А – цифра числа. Данное выражение используется для преобразования целых чисел, причём отчёт цифр идёт справа налево.

Например, перевести число 1101102 в десятичную систему счисления. 1101102=0*20+1*21+1*22+0*23+1*24+1*25= 0+2+4+0+16+32=5410

Аналогичным образом можно использовать формулу и для отрицательных чисел, и для нахождения дробной части числа.

Например, перевести число 10,112 в десятичную систему счисления.

10,112=1*2-2+ 1*2-1+0*20+1* 21=1/4+1/2+0*1+1*2=0,25+0,5+0+2=2,7510

Перевод чисел из двоичной системы счисления в восьмеричную.

Для записи двоичных чисел используются две цифры, то есть в каждом разряде числа возможны 2 варианта записи. Решаем показательное уравнение:

2 = 2i . Так как 2 = 21, то i = 1 бит.

Каждый разряд двоичного числа содержит 1 бит информации.

Для записи восьмеричных чисел используются восемь цифр, то есть в каждом разряде числа возможны 8 вариантов записи.

Решаем показательное уравнение:

8 = 2i . Так как 8 = 23, то i = 3 бита.

Каждый разряд восьмеричного числа содержит 3 бита информации.

Таким образом, для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями.

Переведем таким способом двоичное число 1010012 в восьмеричное:

101 0012 => 1 × 22 + 0 × 21 + 1 × 20 0 × 22 + 0 × 21 + 1 × 20 => 518.

Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры:

Для перевода дробного двоичного числа (правильной дроби) в восьмеричное необходимо разбить его на триады слева направо и, если в последней, правой, группе окажется меньше трех цифр, дополнить ее справа нулями. Далее необходимо триады заменить на восьмеричные числа.

Например, преобразуем дробное двоичное число А2 = 0,1101012 в восьмеричную систему счисления:

Получаем: А8 = 0,658.

Перевод чисел из двоичной системы счисления в шестнадцатеричную.

Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение:

16 = 2i . Так как 16 = 24, то i = 4 бита.

Каждый разряд шестнадцатеричного числа содержит 4 бита информации.

Таким образом, для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Для перевода дробного двоичного числа (правильной дроби) в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше четырех цифр, то необходимо дополнить ее справа нулями.

Затем надо преобразовать каждую группу в шестнадцате-ричную цифру, воспользовавшись для этого предварительно составленной таблицей соответствия двоичных тетрад и шестнадцатеричных цифр.

Переведем целое двоичное число А2 = 1010012 в шестнадцатеричное:

В результате имеем: А16 = 2916.

Переведем дробное двоичное число А2 =0,1101012 в шестнадцатеричную систему счисления:

Получаем: А16 = 0,D416.

Для того чтобы преобразовать любое двоичное число в восьмеричную или шестнадцатеричную системы счисления, необходимо произвести преобразования по рассмотренным выше алгоритмам отдельно для его целой и дробной частей.

Представление данных в ЭВМ.

Современные ЭВМ реализованы на электронных элементах (триггерах), имеющих два устойчивых состояния (типа включен/выключен). Эти состояния кодируются – одно обозначается “0”(ноль), другое – “1” (единица). Таким образом, язык ЭВМ содержит как и азбука Морзе (телеграфная азбука) только два символа. Это в свою очередь, вынуждает для представления данных в ЭВМ использовать специальные коды. Данные по типу можно разделить на четыре группы.

СИМВОЛЬНЫЕ – используются для обозначения понятий, объектов и формирования текстов по правилам того или иного языка сообщений.

ЧИСЛОВЫЕ – используются для обозначения КОЛИЧЕСТВ в различных формах и различных системах счисления (двоичной, восьмеричной, десятичной и шестнадцатеричной)

ДАТА — используется для представления ДАТ в различных формах (американской, германской, европейской и других)

ЛОГИЧЕСКИЕ – используются для обозначения НАЛИЧИЯ или отсутствия какого-либо признака (ЕСТЬ/НЕТ) и имеют только два значения:

ИСТИНА – обозначается либо .T., либо Y

ЛОЖЬ – обозначается либо .F., либо N

Основным элементом кодированного представления данных в ЭВМ является БАЙТ. Это код из восьми позиций, в каждой из которых может находиться либо 0, либо 1. Например: 01001000 или 01000101 и т.п. Каждая позиция называется разрядом или битом. В зависимости от того, какой тип данных представляет байт, его содержимое интерпретируется по-разному.

При представлении СИМВОЛЬНЫХ данных один байт представляет собой кодированное представление одного символа, например:

01001110 — код буквы N, 01000101 — код буквы Е

Байтом можно представить 256 различных символов. Для такого представления используется стандартная таблица ASCII (читается аски). В этой таблице первые 128 кодовых комбинаций являются общими для всех стран, а последние 128 кодов символов используются в различных языках, в частности русском. Каждому символу таблицы ASCII соответствует свой и только свой код.

При представлении ЧИСЛОВЫХ данных один байт интерпретируется как целое число в пределах от -127 до 128. Поскольку это очень узкий диапазон, то для представления любого как дробного, так и целого числа используется несколько байт (чаще всего четыре байта). Таким образом, если рассматривать коды букв N и E как числовые данные, то это 78 и 69 соответственно. Если же рассматривать оба байта как одно число 0100111001000101, то оно соответствует 12037. В настоящее время принят следующий стандарт:

Илон Маск рекомендует:  Что такое код asp hcdodynamiccompression

ЦЕЛОЕ ЧИСЛО — два байта, ДРОБНОЕ ЧИСЛО — четыре байта.

Данные типа ДАТА представляются всегда восьмью байтами.

При представлении ЛОГИЧЕСКИХ данных для одного значения достаточно одного бита (0 — .F., 1 — .T.), однако чаще для представления одного значения используется один байт.

Дата добавления: 2020-02-12 ; просмотров: 82 ; ЗАКАЗАТЬ РАБОТУ

Системы счисления. Позиционная система счисления двоичная.

Впервые позиционная система счисления возникла в древнем Вавилоне. В Индии система работает в виде

позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел

позаимствовала арабская нация, у них, в свою очередь, взяли европейцы. В Европе эту систему стали

Позиционная система — значение всех цифр зависит от позиции (разряда) данной цифры в числе.


Примеры, стандартная 10-я система счисления – это позиционная система. Допустим дано число 453.

Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50,

а 3 — единицы и значению 3. Легко заметить, что с увеличением разряда увеличивается значение.

Таким образом, заданное число запишем в виде суммы 400+50+3=453.

Двоичная система счисления.

Здесь только 2 цифры – это 0 и 1. Основание двоичной системы — число 2.

Цифра, которая находится с самого края справа, указывает количество единиц, вторая цифра —

количество двоек, далее — количество четверок и так далее.

Во всех разрядах возможна лишь одна цифра — или нуль, или единица.

С помощью двоичной системы счисления возможно закодировать всякое натуральное число, представив

это число в виде последовательности нулей и единиц.

Пример: 10112 = 1*2 3 + 0*2*2+1*2 1 +1*2 0 =1*8 + 1*2+1=1110

Двоичную систему счисления, как и десятичную систему счисления, зачастую используют в вычислительной

технике. Текст и числа компьютер хранит в своей памяти в двоичном коде и программным способом преобразует

в изображение на экране.

Сложение, вычитание и умножение двоичных чисел.

Таблица сложения в двоичной системе счисления:

Таблица вычитания в двоичной системе счисления:

(заём из старшего

+ 1 1 1
1 1
1 1 1

Таблица умножения в двоичной системе счисления:

* 1 1 1
1 1
+ 1 1 1
1 1 1
= 1 1 1

Преобразование чисел в двоичной системе счисления.

Для преобразования из двоичной системы в десятичную пользуются следующей таблицей степеней

Начиная с цифры один каждая цифра умножается на 2. Точка, стоящая после 1, называют двоичной точкой.

Преобразование двоичных чисел в десятичные.

Пусть, есть двоичное число 1100012. Для перевода в десятичное записываем его в виде суммы по

разрядам следующим образом:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

Немного по другому:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Также хорошо записывать расчет как таблицу:

Двигаемся справа налево. Под всеми двоичными единицами записываем её эквивалент строчкой ниже.

Далее складываем десятичные числа, которые мы получили. Т.о., двоичное число 1100012 = десятичному 4910.

Преобразование дробных двоичных чисел в десятичные.

Задание: перевести число 1011010, 1012 в десятичную систему.

Записываем заданное число в таком виде:

1*2 6 +0*2 5 +1*2 4 +1*2 3 +0 *2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625

Другой вариант записи:

Либо в виде таблицы:

Преобразование десятичных чисел в двоичные.

Пусть, необходимо перевести число 19 в двоичное. Можем сдеать это таким образом:

То есть, каждое частное делится на 2 и записывается остаток в конец двоичной записи. Деление

продолжается до того момента, когда в частном не будет нуля. Итог пишем справа налево. Т.е. нижняя

цифра (1) будет крайней левой и так далее. Итак, у нас получилось число 19 в двоичной записи: 10011.

Преобразование дробных десятичных чисел в двоичные.

Когда в заданном числе присутствует целая часть, то ее преобразуют отдельно от дробной. Перевод

дробного числа из десятичной системы счисления в двоичную происходит следующим образом:

  • Дробь умножается на основание двоичной системы счисления (2);
  • В полученном произведении выделяется целая часть, которая принимается в качестве старшего

разряда числа в двоичной системе счисления;

  • Алгоритм завершается, если дробная часть полученного произведения равна нулю или если

достигнута требуемая точность вычислений. В противном случае вычисления продолжаются над

дробной частью произведения.

Пример: Нужно перевести дробное десятичное число 206,116 в дробное двоичное число.

Переведя целую часть, получаем 20610=110011102. Дробная часть 0,116 умножается на основание 2,

заносим целые части произведения в разряды после запятой:

Преобразование десятичных чисел в двоичные

Читайте также:

  1. PIC контроллеры используют несколько иную структуру. Они ориентированы по алгоритмам на преобразование протоколов следования входных сигналов.
  2. Автоматизированный электропривод переменного тока с непосредственным преобразованием частоты (НПЧ).
  3. Алгоритм вычитания чисел в десятичной системе счисления, теоретические положения , лежащие а его основе.
  4. Алгоритм вычитания чисел в десятичной системе счисления, теоретические положения , лежащие а его основе.
  5. Алгоритм перевода дробных чисел из системы счисления с основанием q2 в десятичную систему.
  6. Алгоритмы поиска больших простых чисел
  7. Анализ переходных процессов операторным методом. Обратное преобразование Лапласа
  8. Аналого-цифровое преобразование звука.
  9. Арифметические операции в системе чисел
  10. Беззнаковые двоичные коды.
  11. Билет16.ПРЕОБРАЗОВАНИЕ ЛАПЛАСА.
  12. Билинейное преобразование

Переход от десятичной записи к двоичной осуществляется следующим способом: десятичное число делится на два, затем на два делится частное, затем – новое частное и так до тех пор, пока не будет получено последнее частное (равное 1), причем каждый раз записывается остаток от деления. Выписав последнее частное (1) и вслед за ним в обратном порядке все остатки от деления исходного числа на два, мы получим двоичный эквивалент исходного числа.

Допустим, нам нужно перевести число 19 в двоичное. Можно воспользоваться следующей процедурой:

19 /2 = 9 с остатком 19 /2 = 4 c остатком 14 /2 = 2 с остатком 02 /2 = 1 с остатком 01 1

Ставим числа из остатка друг за другом, начиная с конца. В результате получаем число 19 в двоичной записи (начиная с конца): 10011.

Для перевода дробной части (или числа, у которого «0» целых) надо умножить ее на 2. Целая часть произведения будет первой цифрой числа в двоичной системе. Затем, отбрасывая у результата целую часть, вновь умножаем на 2 и т.д. Заметим, что конечная десятичная дробь при этом вполне может стать бесконечной (периодической) двоичной. Например:

0,73 • 2 = 1,46 (целая часть 1),

0,46 • 2 = 0,92 (целая часть 0 ),

0,92 • 2 = 1,84 (целая часть 1),

0,84 • 2 = 1,68 (целая часть 1) и т.д.

Правила выполнения арифметических действий над двоичными числами задаются таблицами двоичных сложения, вычитания и умножения.

Таблица двоичного сложения Таблица двоичного вычитания Таблица двоичного умножения
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;

б) X=1101, Y=101, Z=111;

При вычитании двоичных чисел в данном разряде при необходимости занимается 1 из старшего разряда. Эта занимаемая 1 равна двум 1 данного разряда.

Пример. Заданы двоичные числа X=10010 и Y=101. Вычислить X-Y.

Результат 10010 — 101=1101.

Умножение двоичных чисел производится по тем же правилам, что и для десятичных с помощью таблиц двоичного умножения и сложения.

Пример. 1001 101=?

Результат 1001 101=101101.

Деление двоичных чисел производится по тем же правилам, что и для десятичных. При этом используются таблицы двоичного умножения и вычитания.

Пример. 1100.011 : 10.01=?

Результат 1100.011 : 10.01=101.1.

Дата добавления: 2014-01-13 ; Просмотров: 425 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

2.1. Системы счисления

Транзистор является основным элементом всех электронных цифровых схем. В цифровой схеме он ведет себя как выключатель. Все логические элементы основываются на таких выключателях и могут находиться только в двух различных состояниях. Эти состояния обозначаются как (ON, OFF), (TRUE, FALSE), (3V, OV) или (1, 0).

Поскольку это двузначная система, все числа в компьютерах являются числами по основанию 2, или двоичными числами. С другой стороны, в повседневной жизни мы используем десятичную систему. Для того чтобы можно было понять, что происходит внутри цифровой системы, мы должны иметь возможность преобразовывать числа между системой по основанию десять (десятичной) и системой по основанию два (двоичной).

2.1.1. Двоичные числа

Десятичное число имеет п цифр, и вес каждой цифры равен 10′, где i — позиция цифры, считая с правой стороны и начиная с нуля. Например, 3256 вычисляется как

Число по основанию 2 вычисляется подобным же образом, за исключением того, что весами цифр являются величины 2′ вместо 10′. Например, 10110 вычисляется как

Рассматривая веса как десятичные числа и умножая двоичные цифры (биты) на их веса, мы преобразуем двоичное число в его десятичный эквивалент.

Для преобразования десятичного числа в двоичное десятичное число представляется в виде суммы слагаемых вида 2′. Если в этом представлении присутствует слагаемое 2′ для определенного г, в соответствующей позиции двоичного числа ставится 1, если нет — то 0. Например, число (325 )D может быть представлено в виде суммы чисел:

  • 256, равного 2 8 ,
  • 64, равного 2 е ,
  • 4, равного 2 2 ,
  • 1, равного 2°.

Следовательно, соответствующее двоичное число имеет единицы в позициях 0, 2, 6 и 8, и десятичному числу (325) соответствует двоичное число (101000101)в.

Описанные выше методы для преобразования десятичных чисел в двоичные и двоичных чисел в десятичные применимы также и к дробным числам. В этом случае веса цифр справа от запятой имеют следующие значения: 10 Л 10 2 , 10 3 , . Аналогично веса двоичных цифр с правой стороны от запятой для двоичных цифр имеют значения: 2 2

Например, двоичное число (1101.011)в в десятичной системе счисления имеет значение (13.375), а десятичное число (19.7) преобразуется в двоичное число (10011.101)в. Когда десятичное число преобразуется в двоичное, то для сохранения той же самой точности, как в десятичном числе, дробная десятичная цифра транслируется в 3 дробных бита [1] .

2.1.2. Шестнадцатеричные числа

Двоичные числа для своего отображения требуют слишком много места. Это делает очень вероятными ошибки при их написании, фиксации или вводе в компьютер. Более компактным и легко преобразуемым в двоичную форму и обратно способом представления чисел является шестнадцатеричное (Hexadecimal) представление.

Илон Маск рекомендует:  Предопределённые константы mssql

В табл. 2.1 показаны шестнадцатеричные цифры и их эквивалентные двоичное и десятичное представления. Как можно видеть, шестнадцатеричная цифра транслируется точно в 4 бита. Поэтому преобразование двоичного числа в эквивалентное шестнадцатеричное число и обратно является простейшим процессом. Ниже приведено несколько примеров:

Таблица 2.1. Шестнадцатеричные цифры

Перевод чисел в различные системы счисления с решением

Калькулятор позволяет переводить целые и дробные числа из одной системы счисления в другую. Основание системы счисления не может быть меньше 2 и больше 36 (10 цифр и 26 латинских букв всё-таки). Длина чисел не должна превышать 30 символов. Для ввода дробных чисел используйте символ . или , . Чтобы перевести число из одной системы в другую, введите исходное число в первое поле, основание исходной системы счисления во второе и основание системы счисления, в которую нужно перевести число, в третье поле, после чего нажмите кнопку «Получить запись».

Исходное число записано в -ой системе счисления.

Хочу получить запись числа в -ой системе счисления.

Системы счисления

Системы счисления делятся на два типа: позиционные и не позиционные. Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.

Пример 1. Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:

Число: 5 9 2 1
Позиция: 3 2 1

Число 5921 можно записать в следующем виде: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Число 10 является характеристикой, определяющей систему счисления. В качестве степеней взяты значения позиции данного числа.

Пример 2. Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:

Число: 1 2 3 4 5 6 7
Позиция: 3 2 1 -1 -2 -3

Число 1234.567 можно записать в следующем виде: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 +6·10 -2 +7·10 -3 .

Перевод чисел из одной системы счисления в другую

Наиболее простым способом перевода числа с одной системы счисления в другую, является перевод числа сначала в десятичную систему счисления, а затем, полученного результата в требуемую систему счисления.

Перевод чисел из любой системы счисления в десятичную систему счисления

Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:

1. Перевести число 1001101.11012 в десятичную систему счисления.
Решение: 10011.11012 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 -4 = 16+2+1+0.5+0.25+0.0625 = 19.812510
Ответ: 10011.11012 = 19.812510

2. Перевести число E8F.2D16 в десятичную систему счисления.
Решение: E8F.2D16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0.125+0.05078125 = 3727.1757812510
Ответ: E8F.2D16 = 3727.1757812510

Перевод чисел из десятичной системы счисления в другую систему счисления

Для перевода чисел из десятичной системы счисления в другую систему счисления целую и дробную части числа нужно переводить отдельно.

Перевод целой части числа из десятичной системы счисления в другую систему счисления

Целая часть переводится из десятичной системы счисления в другую систему счисления с помощью последовательного деления целой части числа на основание системы счисления до получения целого остатка, меньшего основания системы счисления. Результатом перевода будет являться запись из остатков, начиная с последнего.

3. Перевести число 27310 в восьмиричную систему счисления.
Решение: 273 / 8 = 34 и остаток 1, 34 / 8 = 4 и остаток 2, 4 меньше 8, поэтому вычисления завершены. Запись из остатков будет иметь следующий вид: 421
Проверка: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273 , результат совпал. Значит перевод выполнен правильно.
Ответ: 27310 = 4218

Рассмотрим перевод правильных десятичных дробей в различные системы счисления.

Перевод дробной части числа из десятичной системы счисления в другую систему счисления

Напомним, правильной десятичной дробью называется вещественное число с нулевой целой частью. Чтобы перевести такое число в систему счисления с основанием N нужно последовательно умножать число на N до тех пор, пока дробная часть не обнулится или же не будет получено требуемое количество разрядов. Если при умножении получается число с целой частью, отличное от нуля, то целая часть дальше не учитывается, так как последовательно заносится в результат.

4. Перевести число 0.12510 в двоичную систему счисления.
Решение: 0.125·2 = 0.25 (0 — целая часть, которая станет первой цифрой результата), 0.25·2 = 0.5 (0 — вторая цифра результата), 0.5·2 = 1.0 (1 — третья цифра результата, а так как дробная часть равна нулю, то перевод завершён).
Ответ: 0.12510 = 0.0012

Десятичное/шестнадцатеричное/двоичное преобразование

Сейчас я готовлюсь к экзамену AP Computer Science, и мне нужна помощь, чтобы понять, как конвертировать между десятичными, шестнадцатеричными и двоичными значениями вручную. В книге, которую я использую (Barron’s), есть пример, но он не очень хорошо объясняет это.

Каковы формулы, которые следует использовать для преобразования между этими типами чисел?

Вы счастливы, что понимаете числовые базы? Если нет, то вам нужно будет прочитать об этом, иначе вы просто слепо следуете некоторым правилам.

Много книг потратили бы целую главу или больше на это.

Двоичная база 2, десятичная база 10, шестнадцатеричная база 16.

Таким образом, Binary использует цифры 0 и 1, Decimal использует 0-9, Hexadecimal использует 0-9, а затем мы закончили, поэтому мы также используем AF.

Таким образом, позиция десятичной цифры указывает единицы, десятки, сотни, тысячи. это «полномочия 10»,

Положение двоичной цифры указывает единицы, 2s, 4s, 8s, 16s, 32s. полномочия 2

Позиция шестнадцатеричных цифр указывает единицы, 16 с, 256 с. полномочия 16

Для двоичных чисел до десятичных чисел добавьте каждый 1 умноженный на его «мощность», поэтому работая справа налево:

Для двоичного кода в шестнадцатеричном выражении вы можете либо вычислить общее число в десятичном формате, либо затем преобразовать в шестнадцатеричный код, либо вы можете преобразовать каждую 4-битную последовательность в одну шестую цифру:

Для hex-двоичного, обратный предыдущий пример — это не так уж плохо сделать в вашей голове, потому что вам просто нужно решить, какой из 8,4,2,1 вам нужно добавить, чтобы получить желаемое значение.

Для десятичной двоичной системы это больше проблема с длинным делением — найдите наибольшую мощность на 2 меньше, чем ваш вход, установите соответствующий двоичный бит в 1 и вычтите мощность 2 от исходного десятичного числа. Повторяйте, пока у вас не будет нуля.

Например, для 87:

  • самая высокая мощность двух — 1,2,4,8,16,32, 64 !
  • 64 равно 2 ^ 6, поэтому мы устанавливаем соответствующий бит 1 в нашем результате: 1000000
  • 87 — 64 = 23
  • следующая самая высокая мощность 2 меньше 23 — 16, поэтому установите бит: 1010000
  • повторить для 4,2,1
  • конечный результат 1010111 двоичный
  • т.е. 64 + 16 + 4 + 2 + 1 = 87 в десятичной

Для шестнадцатеричных значений десятичных чисел, это как двоичный, то десятичный, только вы умножаетесь на 1,16,256. вместо 1,2,4,8.

Для десятичного значения в шестнадцатеричном формате он равен десятичному значению в двоичном выражении, только вы ищете степень 16, а не 2. Это труднее всего сделать вручную.

2.1. Системы счисления

Транзистор является основным элементом всех электронных цифровых схем. В цифровой схеме он ведет себя как выключатель. Все логические элементы основываются на таких выключателях и могут находиться только в двух различных состояниях. Эти состояния обозначаются как (ON, OFF), (TRUE, FALSE), (3V, OV) или (1, 0).

Поскольку это двузначная система, все числа в компьютерах являются числами по основанию 2, или двоичными числами. С другой стороны, в повседневной жизни мы используем десятичную систему. Для того чтобы можно было понять, что происходит внутри цифровой системы, мы должны иметь возможность преобразовывать числа между системой по основанию десять (десятичной) и системой по основанию два (двоичной).

2.1.1. Двоичные числа

Десятичное число имеет п цифр, и вес каждой цифры равен 10′, где i — позиция цифры, считая с правой стороны и начиная с нуля. Например, 3256 вычисляется как

Число по основанию 2 вычисляется подобным же образом, за исключением того, что весами цифр являются величины 2′ вместо 10′. Например, 10110 вычисляется как

Рассматривая веса как десятичные числа и умножая двоичные цифры (биты) на их веса, мы преобразуем двоичное число в его десятичный эквивалент.

Для преобразования десятичного числа в двоичное десятичное число представляется в виде суммы слагаемых вида 2′. Если в этом представлении присутствует слагаемое 2′ для определенного г, в соответствующей позиции двоичного числа ставится 1, если нет — то 0. Например, число (325 )D может быть представлено в виде суммы чисел:

  • 256, равного 2 8 ,
  • 64, равного 2 е ,
  • 4, равного 2 2 ,
  • 1, равного 2°.

Следовательно, соответствующее двоичное число имеет единицы в позициях 0, 2, 6 и 8, и десятичному числу (325) соответствует двоичное число (101000101)в.

Описанные выше методы для преобразования десятичных чисел в двоичные и двоичных чисел в десятичные применимы также и к дробным числам. В этом случае веса цифр справа от запятой имеют следующие значения: 10 Л 10 2 , 10 3 , . Аналогично веса двоичных цифр с правой стороны от запятой для двоичных цифр имеют значения: 2 2

Например, двоичное число (1101.011)в в десятичной системе счисления имеет значение (13.375), а десятичное число (19.7) преобразуется в двоичное число (10011.101)в. Когда десятичное число преобразуется в двоичное, то для сохранения той же самой точности, как в десятичном числе, дробная десятичная цифра транслируется в 3 дробных бита [1] .

2.1.2. Шестнадцатеричные числа

Двоичные числа для своего отображения требуют слишком много места. Это делает очень вероятными ошибки при их написании, фиксации или вводе в компьютер. Более компактным и легко преобразуемым в двоичную форму и обратно способом представления чисел является шестнадцатеричное (Hexadecimal) представление.

В табл. 2.1 показаны шестнадцатеричные цифры и их эквивалентные двоичное и десятичное представления. Как можно видеть, шестнадцатеричная цифра транслируется точно в 4 бита. Поэтому преобразование двоичного числа в эквивалентное шестнадцатеричное число и обратно является простейшим процессом. Ниже приведено несколько примеров:

Таблица 2.1. Шестнадцатеричные цифры

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL