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


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

Шестнадцатеричные числа в основании системы счисления имеют 16 символов, это числа от 0 до 9 и буквы английского алфавита от А до F:

16-ричное

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10-ричное

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Шестнадцатеричные числа всегда используются при отображении адресов и ссылок на память. Большие значения также можно выразить с помощью шестнадцатеричных чисел, используя всего несколько цифр, причем эти цифры легко преобразовать в двоичные значения. Шестнадцатеричные значения используются при написании программ для MASM и TASM. Для выделения шестнадцатеричных чисел используется буква «h» в конце числа. Например, 45h является шестнадцатеричным числом, тогда как 45 – десятичным.

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

В таблице 2 показано соответствие двоичных чисел шестнадцатеричным цифрам. Большое двоичное число можно легко выразить с помощью шестнадцатеричных цифр.

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

Двоичное

Шестнадцетеричное

Двоичное

Шестнадцетеричное

0000

0

1000

8

0001

1

1001

9

0010

2

1010

A

0011

3

1011

B

0100

4

1100

C

0101

5

1101

D

0110

6

1110

E

0111

7

1111

F

Например, двоичное число 10101011100101111000011011100101 может быть легко представлено шестнадцатеричным значением АВ9786Е5:

А

В

9

7

8

6

Е

5

1010

1011

1001

0111

1000

0110

1110

0101

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

8А2640=

1000

1010

0010

0110

0100

0000

8

А

2

6

4

0

Несколько примеров:

0AF6h = 0000101011110110

D58Ch = 1101010110001100

F13Bh = 1111000100111011

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

Каждая позиция цифры в шестнадцатеричном числе соответствует степени числа 16. Например:

24C2h = 2*163+4*162+12*161+2*160 = 8192+1024+192+2 = 9410

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

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

Десятичное число 12 268:

15 268 / 16 = 954, остаток 4

954 / 16 = 59, остаток 10 (А)

59 / 16 = 3, остаток 11 (В)

3 / 16 = 0, остаток 3

-----------------------------------------------------

Шестнадцетеричное: 3ВА4

Числа со знаком

Двоичные числа могут быть как со знаком (signed), так и без знака (unsigned). Числа без знака используют все восемь битов для получения значения. Например, 11111111=255. Проссумировав значения всех битов, получим максимально возможное значение, которое может хранить байт без знака (255). Для слова без знака это значение будет составулять 65 535.

studfiles.net

Шестнадцатеричная система счисления

Главная / Ассемблер / Для чайников / Системы счисления /

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

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Соответственно, основание шестнадцатеричной системы равно 16.

Шестнадцатеричное число является компактным и лёгким для чтения. Его легко преобразовать в двоичное и наоборот. Каждый разряд шестнадцатеричного числа – это тетрада. Каждую тетраду легко преобразовать в двоичное число и наоборот (см. таблицу 2.3).

Таблица 2.3. Преобразование чисел.

Десятичное Двоичное Шестнадцатеричное
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

В конец шестнадцатеричного числа принято ставить букву h. Таким образом мы можем отличить шестнадцатеричное число от чисел в других системах исчисления. Например

11 – десятичное число 11 11b – двоичное число, которое эквивалентно десятичному числу 3 11h – шестнадцатеричное число, которое эквивалентно десятичному числу 17 В исходных кодах программ на ассемблере, если шестнадцатеричное число начинается с буквы, то перед ним нужно поставить ноль, иначе ассемблер подумает, что это не число, а имя переменной. Например, число FF в исходном коде на ассемблере должно быть записано как 0FFh.

av-assembler.ru

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

char* fromHEXtoBIN(long a, char *bin)

{

    long tmp = a;

    int N;

    if (a == 0)

        N = 1;

    else

    {

        N = 0;

        while (tmp != 0)

        {

            N++;

            tmp = tmp / 16;

        }

    }

    bin = (char*)malloc((4 * N + 1)*sizeof(char));

    for (int i = N - 1; i >= 0; i--)

    {

        switch (a % 16)

        {

            case 0:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '0';

                break;

            }

            case 1:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '1';

                break;

            }

            case 2:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '0';

                break;

            }

            case 3:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '1';

                break;

            }

            case 4:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '0';

                break;

            }

            case 5:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '1';

                break;

            }

            case 6:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '0';

                break;

            }

            case 7:

            {

                bin[4 * i] = '0';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '1';

                break;

            }

            case 8:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '0';

                break;

            }

            case 9:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '1';

                break;

            }

            case 10:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '0';

                break;

            }

            case 11:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '0';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '1';

                break;

            }

            case 12:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '0';

                break;

            }

            case 13:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '0';

                bin[4 * i + 3] = '1';

                break;

            }

            case 14:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '0';

                break;

            }

            case 15:

            {

                bin[4 * i] = '1';

                bin[4 * i + 1] = '1';

                bin[4 * i + 2] = '1';

                bin[4 * i + 3] = '1';

                break;

            }

        }

        a = a / 16;

    }

    bin[4 * N] = '\0';

    return bin;

}

vscode.ru

Шестнадцатеричная и двоичная системы счисления

Многие пользователи компьютеров понимают, что компьютер работает в двоичной системе счисления. Традиционно состояния двоичной системы представляются цифрами 0 и 1, хотя, если говорить более точнее, каждое состояние обозначает наличие или отсутствие сигнала, т. е. правильнее будет назвать состояния  «выключено» и «включено», либо «нет» и «да». Состоянию «выключено» или «нет» соответствует цифра 0, а состоянию «включено» или «да» цифра 1. Простым пользователям обычно нет необходимости полностью понимать устройство компьютера, однако двоичная система счисления дает о себе знать в виде различных ограничений основанных на степени двойки. Более компактный вариант двоичной системы называют шестнадцатеричной. Число шестнадцать является четвертой степенью числа два. Из этого следует, что можно достаточно просто переводить длинных двоичные последовательностей из нулей и единиц в короткие шестнадцатеричные. Для этого достаточно разбить двоичную последовательность на группы по четыре разряда (цифры) начиная с младшего разряда (справа) и заменить каждую группу на соответствующее шестнадцатеричное значение.

Шестнадцатеричную систему принято использовать для удобства восприятия двоичных данных, так как переводы из шестнадцатеричной системы в двоичную и обратно осуществляются простой заменой строк. Компьютер работает исключительно с двоичными последовательностями, а шестнадцатеричная запись этой последовательности в четыре раза компактнее, так как у этой системы основание 16 (216), а двоичной 2. Двоичная последовательность может быть достаточно громоздкой. Например, запись числа 513 требует десять двоичных разрядов (1000000001), а в шестнадцатеричной только три (201). Тем не менее, для представления любых шестнадцатеричных чисел требуется шестнадцать разных символов, а не десять, которые используются в привычной нам десятичной системе счисления. Первые десять символов это символы в интервале от 0 по 9, остальные это буквы латинского алфавита в интервале от A по F. Буквы обычно (но не всегда) пишут в верхнем регистре (заглавные) в шестнадцатеричной записи числа. Первые десять символов (от 0 по 9) записываются аналогично цифрам в десятичной системе счисления и соответствуют им. Буквы в интервале от A по F соответствуют значениям в интервале от 10 до 15.

Рассмотрим соответствие чисел от 0 по 15 шестнадцатеричной и двоичной системам счисления.

Десятичная запись Шестнадцатеричная запись Двоичная запись
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111

Записи 10, 11 и т. д. в десятичной, двоичной и шестнадцатеричной системах не соответствуют друг другу. Рассмотрим небольшой пример. Пусть у нас имеется шестнадцатеричное число число 1A5E. для перевода в двоичную запись достаточно просто заменить шестнадцатеричные разряды на соответствующие двоичные группы. Получится 0001 1010 0101 1110. Если убрать незначащие нули перед числом и записать его без разделителей получим 1101001011110. Для обратного перевода разделим число на группы по четыре разряда начиная с младшего (с правой стороны), а также для удобства добавим незначащие нули в старшей группе до 4 разрядов. Получим 0001 1010 0101 1110. Заменим группы на соответствующие шестнадцатеричные значения, получим 1A5E.

Для перевода шестнадцатеричного числа в десятичное представление можно воспользоваться схемой по которой мы записываем десятичные числа. В десятичном числе каждый разряд обозначает соответствующую степень числа десять начиная с нулевой с возрастанием справа налево. Например, десятичное число 123 обозначает 1*102 + 2*101 + 3*100. Аналогичным методом переведем число 1A5E в десятичную систему счисления. В шестнадцатеричной системе счисления, также как и в десятичной каждый разряд обозначает соответствующую степень числа шестнадцать начиная с нулевой с возрастанием справа налево. Символы 1 и 5 в шестнадцатеричной системе счисления соответствуют значениям 1 и 5 в десятичной, а символы A и E — 10 и 14. Тогда 1A5E можно представить в десятичной системе счисления как 1*163 + 10*162 + 5*161 + 14*160 = 6750. Однако для оценки шестнадцатеричных чисел вовсе не обязательно переводить их в десятичные. Правила сравнения, сложения и умножения в этой системе такие же как и в десятичной, главное не забывать, что каждый разряд может содержать значения от 0 до 15. Для более быстрого перевода числе между система счисления можно воспользоваться стандартным калькулятором в Windows, для этого достаточно в расширенном режиме калькулятора выбрать систему счисления, ввести в ней число и выбрать нужную систему счисления, в которой следует отобразить результат.

Так как шестнадцатеричные числа, состоящие только из чисел, легко спутать с десятичными, их обычно помечают так, чтобы было ясно, что используется именно шестнадцатеричная запись. Шестнадцатеричные записи обычно помечают либо добавлением в конец строчной буквы „h”, либо приставки „0x” перед записью числа. Таким образом шестнадцатеричное число 1A5E  может быть записано как 1A5Eh или 0x1A5E, где „h” на конце или „0x” в начале обозначают, что используется шестнадцатеричная запись.

compbasic.ru

Шестнадцатеричные числа - это... Что такое Шестнадцатеричные числа?

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

Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15.

Применение

Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, БЭСМ-6) использовали восьмеричную систему.

В стандарте Юникода номер символа принято записывать в шестнадцатеричном виде, используя не менее 4 цифр (при необходимости — с ведущими нулями).

Способы записи

В математике

В математике систему счисления принято писать в подстрочном знаке. Например, десятичное число 1443 можно записать как 144310 или как 5A316.

В языках программирования

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

  • В Ада и
  • В Си и языках схожего синтаксиса, например, в
  • В некоторых ассемблерах используют букву "h", которую ставят после числа. Например, "5A3h". При этом, если число начинается не с десятичной цифры, впереди ставится "0" (ноль): "0FFh" (25510)
  • Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые версии Бэйсика используют префикс "$". Например, "$5A3".
  • Некоторые иные платформы, например ZX Spectrum в своих ассемблерах (MASM, TASM, ALASM, GENS и т.д.) использовали запись #5A3, обычно выровненную до одного или двух байт: #05A3.
  • Другие версии Бэйсика используют для указания шестнадцатеричных цифр сочетание "&h". Например, "&h5A3".
  • В Unix-подобных операционных системах (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как \xCC, где CC - шестнадцатеричный код символа.

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

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

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

Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:

5A316=5·162+10·161+3·160=5·256+10·16+3·1=1280+160+3=144310

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

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

Например:

101101000112=0101 1010 0011=5A316

Таблица перевода чисел

0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

См. также

Ссылки

Wikimedia Foundation. 2010.

  • Шестнадцатиричная система счисления
  • Шестнадцать

Смотреть что такое "Шестнадцатеричные числа" в других словарях:

  • Шестнадцатиричные числа — Шестнадцатеричная система счисления (шестнадцатеричные числа) позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для… …   Википедия

  • Hexspeak — Эта статья содержит незавершённый перевод с иностранного языка. Вы можете помочь проекту, переведя её до конца. Если вы знаете, на каком языке написан фрагмент, укажите его в этом шаблоне …   Википедия

  • Шестнадцатеричная система счисления — Системы счисления в культуре Индо арабская система счисления Арабская Индийские Тамильская Бирманская Кхмерская Лаоская Монгольская Тайская Восточноазиатские системы счисления Китайская Японская Сучжоу Корейская Вьетнамская Счётные палочки… …   Википедия

  • Шестнадцатеричная система — счисления (шестнадцатеричные числа) позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15.… …   Википедия

  • Шестнадцатиричная система счисления — Шестнадцатеричная система счисления (шестнадцатеричные числа) позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для… …   Википедия

  • Шестнадцатиричная система исчисления — Шестнадцатеричная система счисления (шестнадцатеричные числа) позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для… …   Википедия

  • Монитор (интерактивная программа) — У этого термина существуют и другие значения, см. Монитор. Монитор компьютера Apple II Монитор  интерактивная программа в компьютерах, особенно 1970 х годов, позволяющая осуществлять управление компьютером на низком уровне: просмотр… …   Википедия

  • HIMEM.SYS — HIMEM.SYS  драйвер дополнительной (extended memory) и HMA памяти для операционной системы MS DOS, обеспечивающий поддержку дополнительной памяти (extended или expanded). HIMEM.SYS был введён в состав операционной MS DOS 5.0 для возможности… …   Википедия

  • Еггогология — Электроника МК 52 с сообщением «ERROR» (из за специфического отображения буквы r зачастую читалось как «ЕГГОГ») Еггогология& …   Википедия

  • ЕГГОГ — Электроника МК 52 с сообщением ERROR (из за специфического отображения буквы r зачастую читалось как «ЕГГОГ» Еггогология изучение скрытых возможностей микрокалькуляторов. Содержание 1 Происхождение …   Википедия

dic.academic.ru

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

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

Правила перевода чисел из двоичной системы в восьмеричную, шестнадцатеричную и обратно достаточно просты, поскольку основания восьмеричной и шестнадцатеричной систем счисления выражаются целой степенью двойки: 8 = 23, 16 = 24.

Таблица перевода восьмеричных чисел в двоичные

восьмеричное число

двоичное число

0

000

1

001

2

010

3

011

4

100

5

101

6

110

7

111

Таблица перевода шестнадцатеричных чисел в двоичные

шестнадцатеричное число

двоичное число

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

A (10)

1010

B (11)

1011

C (12)

1100

D (13)

1101

E (14)

1110

F (15)

1111

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

762,358 = 111 110 010, 011 1012

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

A7B,C716 = 1010 0111 1011, 1100 01112

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

  1. 27,234358 = 010 111, 010 011 100 011 1012

  2. 302,6738 = 011 000 010, 110 111 0112

  3. 23А4,09C716 = 0010 0011 1010 0100, 0000 1001 1100 01112

  4. 177,2468 = 001 111 111, 010 100 1102

  5. 732,0758 = 111 011 010, 000 111 1012

  6. ССА8,9А316 = 1100 1100 1010 1000, 1001 1010 00112

  7. 7F01,ВA6E16 = 0111 1111 0000 0001, 1011 1010 0110 11102

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

001 111, 101 0102 = 17,528

0101 1100, 1011 0112 = 5C,B616

Перевести в восьмеричную:

  1. 10111, 0100111000111012 = 010 111, 010 011 100 011 1012 = 27,234358

  2. 11000010, 1101110112 = 011 000 010, 110 111 0112 = 302,6738

  3. 1111, 1101001100111100112 = 001 111, 110 100 110 011 110 0112 = 17,6463638

  4. 1011010010, 001011012 = 001 011 010 010, 001 011 0102 = 1322,1328

Перевести в шестнадцатеричную:

  1. 10001110100100, 00001001110001112 = 0010 0011 1010 0100, 0000 1001 1100 01112 = 23А4,09C716

  2. 1010111101010110, 00110001000110112 = 1010 1111 0101 0110, 0011 0001 0001 10112 = АF56,311В16

  3. 11001110110100, 00100111001112 = 0011 0011 1011 0100, 1010 0111 0011 10002 = 33B4,A73816

  4. 10111110101110, 00100010001012 = 0010 1111 1010 1110, 0010 0010 0010 10002 = 2FAE,222816

6

studfiles.net

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

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

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

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

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

Двоичные триады

000

001

010

011

100

101

110

111

Восьмиричные цифры

0

1

2

3

4

5

6

7

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

Для перевода целого двоичного числа в шестнадцатеричноеего нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше разрядов, дополнить ее слева нулями. Для переводадробного двоичного числа в шестнадцатеричноенеобходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше, чем четыре разряда, то необходимо ее дополнить справа нулями. Процедура перевода такая же, как и для восьмеричной системы, только каждая шестнадцатеричная цифра представляется 4-мя двоичными, например: 1 – 0001; 3 – 0011; 9 – 1001; A – 1010; D – 1101; F – 1111

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

Арифметические операции в позиционных системах счисления

Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.

Сложение

Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:

0 + 0 =   00 + 1 =   01 + 0 =   11 + 1 = 10

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

Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим. 1102 = 1•22 + 1•21 + 0•20 = 610112 = 1•21 + 1•20 = 310610 + 310 = 910

Теперь переведем результат двоичного сложения в десятичное число. 10012 = 1•23 + 0•22 + 0•21 + 1•20 = 910

Сравним результаты, сложение выполнено правильно.

studfiles.net