21.09.2019

Для представления чисел в восьмеричной системе. Двоичная восьмеричная шестнадцатеричная системы счисления


Арифметические основы цифровой техники.

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

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

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

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

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

Для представления цифр разрядов используется набор из различных символов. Так, при (т.е. в обычной десятичной системе счисления) для записи цифр разрядов используется набор из десяти символов: 0, 1, 2, …, 9. При этом запись (здесь и далее индекс и при числе указывает основание системы счисления, в которой представлено число) означает следующее количество:

,

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

В двоичной системе счисления основание системы счисления р = 2. Таким образом, для записи цифр разрядов требуется набор всего лишь из двух символов, в качестве которых используются 0 и 1. Следовательно, в двоичной системе счисления представляется последовательностью символов 0 и 1. При этом запись 11011,1012 соответствует в десятичной системе счисления следующему числу:

Весовые коэффициенты разрядов

В восьмеричной системе счисления основание системы счисления р = 8. Следовательно, для представления цифр разрядов должно использоваться восемь разных символов, в качестве которых выбраны 0, 1, 2, …, 7 (заметим, что символы 8 и 9 здесь не используются и в записи чисел встречаться не должны). Например, записи в десятичной системе счисления соответствует следующее число:

,

Весовые коэффициенты

разрядов

т.е. запись означает число, содержащее семь раз по , три раза по , пять раз по , четыре раза по , шесть раз по .

В шестнадцатеричной системе счисления основание системы счисления р = 16 и для записи цифр разрядов должен использоваться набор из 16 символов: 0, 1, 2, …, 9, А, B, C, D, E, F. В нем используются 10 арабских цифр, и до требуемых шестнадцати их дополняют шестью начальными буквами латинского алфавита. При этом символу А в десятичной системе счисления соответствуют 10, B – 11, C – 12, D – 13, E – 14, F – 15.


Запись соответствует следующему числу в десятичной системе счисления:

Весовые коэффициенты разрядов

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

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

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

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

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

Алгоритм перевода из 2-ой в 8-ую систему счисления

При переводе из 2-ой в 8-ую систему счисления надо число разбить на триады (по три разряда) и записать каждую триаду эквивалентным двоичным кодом, недостающее число разрядов надо дополнить слева нулями.

100111101 2 = 100 111 101 2 =475 8

1100010 2 = 001 100 010 2 =142 8

Алгоритм перевода из 8-ой в 2-ую

Для перевода из 8-ой в 2-ую используется обратное правило.

Каждую цифру 8-ого числа надо записать тремя разрядами соответствующего ей двоичного кода

Перевод из 8-ой в 2-ую

563 8 = 101110011 2

Перевод из 8-ой в 10-ую

563 8 = 5*8 2 + 6*8 1 + 3*8 0 = 512+ 40 + 7 = 371 10

9 Шестнадцатеричная система счисления. Запись чисел в шестнадцатеричной системе счисления. Привести примеры.

В шестнадцатеричной системе счисления основание системы равно 16, т.е. для записи чисел используется 16 символов: цифры от 0 до 9 и далее буквы латинского алфавита от AдоF

Ниже представлена таблица соответствия кодов чисел четырех систем счисления.

Для записи 1 цифры шестнадцатеричного числа в двоичной системе счисления требуется 4 разряда.

Алгоритм перевода чисел из 2-ой в 16-ую систему счисления

При переводе чисел из 2-ой в 16-ую систему счисления надо число разбить на тетрады (по четыре разряда) и записать каждую тетраду эквивалентным двоичным кодом, недостающее число разрядов надо дополнить слева нулями.

Примеры:

    1001 1110 2 = 9E 16

0010 0010 2 = 22 16

Алгоритм перевода чисел из 16-ой в 2-ую

Для перевода из 16-ой в 2-ую используется обратное правило.

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

Перевод из 16-ой в 2-ую

173 16 = 101110011 2

Перевод из 16-ой в 10-ую

173 16 = 1*16 2 + 7*16 1 + 3*16 0 = 256 + 112 + 3 = 371 10

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

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

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

В двоичную В восьмеричную В шестнадцатеричную

: 7510 = 1 001 0112 = 1138 = 4B16.

Системы счисления. Восьмеричные и шестнадцатеричные числа

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

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

Вы уже знаете, что компьютер «знает» только двоичную систему счисления. Тогда зачем же нужны системы, отличные от двоичной?

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

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

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

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

Восьмеричные числа записываются с помощью восьми цифр: 0, 1, 2, 3, 4, 5, 6, 7. А вот алфавит шестнадцатеричной системы счисления состоит из десяти цифр и шести букв латинского алфавита: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

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

Десятичная

Восьмеричная

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

Десятичная

Восьмеричная

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

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

А сейчас мы с Вами научимся переводить двоичные числа в восьмеричные и шестнадцатеричные. Например, переведем число (1101011) 2 в восьмеричное.

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

Разобьем число (1101011) 2 на группы по три цифры: 1, 101, 011. И поставим в соответствие восьмеричные числа, получим: 1, 5, 3. Т. е. получили число (153) 8 .

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

Итак, чтобы перевести число (153) 8 в двоичную систему счисления, записываем 001, 101, 011. Опускаем первые ведущие нули и получаем число (1101011) 2 .

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

Переведем число (1101011) 2 в шестнадцатеричную систему счисления: 110, 1011. Теперь в соответствие каждой четверке цифр записываем шестнадцатеричную цифру: 6, В. Т. е. получили число (6B) 16 .

А теперь переведем полученное нами число (6В) 16 в двоичную систему счисления. Вместо каждой цифры шестнадцатеричного числа записываем четверку цифр соответствующего двоичного числа: 0110, 1011. Опускаем ведущие нули и получаем (1101011) 2 .

Теперь, если Вы хорошо усвоили материал, можете закрепить его, выполнив несложные задания. Для этого перейдите в режим тренажера. Если хотите позаниматься позже – закройте текущее окно.

Упражнение №1. Переведите в восьмеричную систему счисления число (101101) 2 .

А) (55) 8; (+)

Б) (56) 8;

В) (215) 8 ;

Г) (216) 8.

Упражнение №2. Переведите в двоичную систему счисления число (162) 8 .

А) (110011) 2;

Б) (1110010) 2; (+)

В) (110111) 2;

Г) (110101) 2.

Упражнение №3. Переведите в шестнадцатеричную систему счисления число (1010111001001101) 2 .

А) (AE4D) 16; (+)

Б) (AED) 16;

В) (A4ED) 16;

Г) (DEA) 16.

Упражнение №4. Переведите в двоичную систему счисления число (5АВ) 16 .

А) (101101011) 2 ;

Б) (1011101011) 2;

В) (10110101011) 2; (+)

Г) (10110101001) 2.

Упражнение №5. Найдите значение выражения (15) 8 + (А2) 16 , записав результат в виде двоичного числа.

А) (11101111) 2;

Б) (10111111) 2;

В) (10101111) 2; (+)

Г) (10101001) 2.

Для представления чисел в микропроцессоре используется двоичная система счисления .
При этом любой цифровой сигнал может иметь два устойчивых состояния: «высокий уровень» и «низкий уровень». В двоичной системе счисления для изображения любого числа используются две цифры, соответственно: 0 и 1. Произвольное число x=a n a n-1 ..a 1 a 0 ,a -1 a -2 …a -m запишется в двоичной системе счисления как

x = a n ·2 n +a n-1 ·2 n-1 +…+a 1 ·2 1 +a 0 ·2 0 +a -1 ·2 -1 +a -2 ·2 -2 +…+a -m ·2 -m

где a i — двоичные цифры (0 или 1).

Восьмеричная система счисления

В восьмеричной системе счисления базисными цифрами являются цифры от 0 до 7. 8 единиц младшего разряда объединяются в единицу старшего.

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

В шестнадцатеричной системе счисления базисными цифрами являются цифры от 0 до 15 включительно. Для обозначения базисных цифр больше 9 одним символом кроме арабских цифр 0…9 в шестнадцатеричной системе счисления используются буквы латинского алфавита:

10 10 = A 16 12 10 = C 16 14 10 = E 16
11 10 = B 16 13 10 = D 16 15 10 = F 16 .

Например, число 175 10 в шестнадцатеричной системе счисления запишется как AF 16 . Действительно,

10·16 1 +15·16 0 =160+15=175

В таблице представлены числа от 0 до 16 в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления.

Десятичная Двоичная Восьмеричная Шестнадцатеричная
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

Двоично-восьмеричные и двоично-шестнадцатеричные преобразования

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

Три разряда восьмеричной системы счисления реализуют все возможные комбинации восьмеричных цифр в двоичной системе счисления: от 0 (000) до 7(111). Чтобы преобразовать двоичное число в восьмеричное, нужно объединить двоичные цифры в группы по 3 разряда (триады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от него тоже можно добавить незначащие нули до заполнения всех триад. Затем каждая триада заменяется восьмеричной цифрой.

Пример: Преобразовать число 1101110,01 2 в восьмеричную систему счисления.

Объединяем двоичные цифры в триады справа налево. Получаем

001 101 110,010 2 = 156,2 8 .

Чтобы перевести число из восьмеричной системы в двоичную, нужно каждую восьмеричную цифру записать ее двоичным кодом:

156,2 8 = 001 101 110,010 2 .

Четыре разряда шестнадцатеричной системы счисления реализуют все возможные комбинации шестнадцатеричных цифр в двоичной системе счисления: от 0 (0000) до F(1111). Чтобы преобразовать двоичное число в шестнадцатеричное, нужно объединить двоичные цифры в группы по 4 разряда (тетрады) в две стороны, начиная от разделителя целой и дробной части. При необходимости слева от исходного числа нужно добавить незначащие нули. Если число содержит дробную часть, то справа от нее тоже нужно добавить незначащие нули до заполнения всех тетрад. Затем каждая тетрада заменяется шестнадцатеричной цифрой.

Пример: Преобразовать число 1101110,11 2 в шестнадцатеричную систему счисления.

Объединяем двоичные цифры в тетрады справа налево. Получаем

0110 1110,1100 2 = 6E,C 16 .

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

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

Итак, основанием системы является число восемь 8 или в восьмеричной системе 10 8 - это значит что для изображения чисел используется восемь цифр (0,1,2,3,4,5,6,7). Здесь и далее маленькое число справа внизу от основной записи числа будет обозначать основание системы счисления. Для десятичной системы основание указывать не будем.

Ноль - 0 ;
Один - 1 ;
Два - 2 ;
...
и так далее…
...
Шесть - 6 ;
Семь - 7 ;

А что делать дальше? Все цифры кончились. Как же изобразить число восемь? В десятичной системе в подобной ситуации (когда закончились цифры) мы ввели понятие десятка, здесь же введем понятие "восьмерка" и скажем, что восемь - это одина восьмерка и ноль единиц. А это уже можно и записать - "10 8 ".

Итак, Восемь - 10 8 (одна восьмерка, ноль единиц)
Девять - 11 8 (одна восьмерка, одна единица)
...
и так далее…
...
Пятнадцать - 17 8 (одна восьмерка, семь единиц)
Шестнадцать - 20 8 (две восьмерки, ноль единиц)
Семнадцать - 21 8 (две восьмерки, одна единица)
...
и так далее…
...
Шестьдесят три - 77 8 (семь восьмерок, семь единиц)

Шестьдесят четыре - 100 8 (одна "Шестьдесят четыре", ноль восьмерок, ноль единиц)
Шестьдесят пять - 101 8 (одна "Шестьдесят четыре", ноль восьмерок, одна единица)
Шестьдесят шесть - 102 8 (одна "Шестьдесят четыре", ноль восьмерок, две единицы)
...
и так далее...
...

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

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

5372 8 = 5 *512+3 *64+7 *8+2 *1, здесь и далее знак * (звездочка) означает умножение.

Но ряд чисел 512, 64, 8, 1 есть не что иное, как целые степени числа восемь (основания системы счисления) и поэтому можно записать:

5372 8 = 5 *8 3 +3 *8 2 +7 *8 1 +2 *8 0

Подобным образом для восьмеричной дроби (дробного числа) например: 0.572 8 (Сто пятьдесят семь пятьсот двенадцатых), про него можно сказать, что оно содержит: пять восьмых, семь шестьдесят четвертых и две пятьсот двенадцатых долей. И его значение можно вычислить следующим образом:

0.572 8 = 5 *(1/8) + 7 *(1/64) + 2 *(1/512)

И здесь ряд чисел 1/8; 1/64 и 1/512 есть не что иное, как целые степени числа восемь и мы также можем записать:

0.572 8 = 5 *8 -1 + 7 *8 -2 + 2 *8 -3

Для смешанного числа 752.159 аналогичным образом можем записать:

752.364 = 7 *8 2 +5 *8 1 +2 *8 0 +1 *8 -1 +5 *8 -2 +9 *8 -3

Теперь, если мы пронумеруем разряды целой части любого числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m, то значение любого произвольного восьмеричного числа может быть вычислено по формуле:

N = d n 8 n +d n-1 8 n-1 +…+d 1 8 1 +d 0 8 0 +d -1 8 -1 +d -2 8 -2 +…+d -(m-1) 8 -(m-1) +d -m 8 -m

Где: n - количество разрядов в целой части числа минус единица;
m - количество разрядов в дробной части числа
d i - цифра стоящая в i -м разряде

Эта формула называется формулой поразрядного разложения восьмеричного числа, т.е. числа записанного в восьмеричной системе счисления. Но если в этой формуле число восемь заменить на некоторое натуральное число q , то мы получим формулу разложения для числа выраженного в системе счисления с основанием q :

N = d n q n +d n-1 q n-1 +…+d 1 q 1 +d 0 q 0 +d -1 q -1 +d -2 q -2 +…+d -(m-1) q -(m-1) +d -m q -m

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


© 2024
art4soul.ru - Преступления, наркотики, финансирование, наказание, заключение, порча