Правила переводов десятичных чисел в них и обратно. Представление чисел в различных системах счисления
Арифметические основы цифровой техники.
СИСТЕМЫ СЧИСЛЕНИЯ.
Представление чисел в различных системах счисления.
Для преставления в цифровых устройствах чисел, а также другой информации в процессе программирования наряду с привычной для нас десятичной системой счисления широко используются другие системы. Рассмотрим наиболее употребительные позиционные системы счисления. Числа в таких системах счисления представляются последовательностью цифр (цифр разрядов), разделенных запятой на две группы: группу разрядов, изображающую целую часть числа, и группу разрядов, изображающую дробную часть числа:
Здесь , , …обозначают цифры нулевого, первого и т.д. разрядов целой части числа, , … - цифры первого, второго и т.д. разрядов дробной части числа.
Цифре разряда приписан вес , где – основание системы счисления; – номер разряда, равный индексу при обозначениях цифр разрядов. Так, приведенная выше запись означает следующее количество:
Для представления цифр разрядов используется набор из различных символов. Так, при (т.е. в обычной десятичной системе счисления) для записи цифр разрядов используется набор из десяти символов: 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.
2.3. ВОСЬМЕРИЧНЫЕ ЧИСЛА
Восьмеричная запись, как и шестнадцатеричная, используется для представления двоичных чисел. Восьмеричная система содержит 8 цифр от 0 до 7 и является соответственно системой с основанием 8. В табл. 2.7 представлено несколько десятичных, восьмеричных и двоичных чисел.
Преобразуем двоичное число 11111000100 в его восьмеричный эквивалент. Процедура действий в этом случае следующая. Начиная с МБ двоичного числа, делим его на группы из 3 бит. Затем, используя табл. 2.7, преобразуем каждую триаду (группу из 3 бит) в эквивалентную восьмеричную цифру. Таким образом, мы заменим двоичное число 11111000100 его восьмеричным эквивалентом 37048:
Двоичное число 011 111 000 100
Восьмеричное число 3 7 0 4
Преобразуем теперь восьмеричное число 6521 в его двоичный эквивалент. Каждая восьмеричная цифра заменяется двоичной триадой и получится, что 65218= 110101010001 2".
Запишем восьмеричное число 2357 в десятичной форме. Классическая процедура выполняется согласно табл. 2.8. Здесь 512, 64, 8 и 1 есть веса четырех первых восьмеричных позиций. Заметим, что в этом примере содержится 7 единиц, 5 восьмерок, 4 числа 64 и два числа 521. Мы их складываем и получаем результат: 1024+192+40+7= 1263 10.
Наконец, преобразуем десятичное число 3336 в его восьмеричный эквивалент. Процедура показана на рис. 2.3. В первую очередь 3336 разделено на 8, что дает частное 417 и остаток 0 10, причем 0 10=08, восьмеричный 0 становится значением MP восьмеричного числа. Первое частное (417) становится делимым и снова делится на 8 (вторая строка), что дает частное 52 и остаток 110=18, который становится второй цифрой восьмеричного числа. В третьей строке частное (52) становится делимым и деление его на 8 дает частное 6 и остаток 4 10=48. В четвертой строке последнее частное 6 разделено на 8 с частным 0 и остатком 6 10=68.
Теперь счет закончен последним частным 0. Цифра 68 становится значением CP восьмеричного числа, и мы можем видеть на рис. 2.3, что 3336ю=64108.
Большинство микропроцессоров и микро-ЭВМ обрабатывают группы из 4, 8 или 16 бит. Отсюда следует, что обычно чаще используется шестнадцатеричная запись, чем восьмеричная. Однако восьмеричная запись более удобна, когда группы бит делятся на 3 (например, группы из 12 бит).
Упражнения
2.18. Для представления двоичных чисел текст документации 8-разрядного микропроцессора использует _
(шестнадцатеричную, восьмеричную) систему.
2.19. Другим названием восьмеричной системы является
2.20. Записать следующие восьмеричные числа в двоичном коде: а) 3; б) 7; в) 0; г) 7642; д) 1036; е) 2105.
2.21. Записать следующие двоичные числа в восьмеричном коде: а) 101; б) 110; в) 010; г) 111000101010; д) 1011000111; е) 100110100101.
2.22. 67248=_____10.
2.23. 2648 10=____8.
2.18. Шестнадцатеричную, при которой удобно представить двоичное число двумя 4-разрядными группами. 2.19. Система с основанием 8. 2.20. а) 38=0112; б) 78=1112; в) 08 = 0002; г) 76428= 1111101000102;
д) 10368= 10000111102; е) 21058= 100010001012. 2.21. а) 1012=58; б) 1102=68; в) 0102=28; г) 1110001010102 = 70528; д) 10110001112= 13078;
е) 1001101001012 = 46458. 2.22. Согласно процедуре табл. 2.8: 67248= = (512Х6) + (64х7) + (8х2) + (1Х4)=3540 10. 2.23. Согласно процедуре рис. 2.3:
2648 10: 8 = 331, остаток 0 (MP); 331: 8= 41, остаток 3; 41: 8= 5, остаток 1; 5: 8= 0, остаток 5 (CP); 2648 10=51308.
Позиционная система счисления с основанием 8, в которой для записи чисел используются цифры 0, 1, 2, 3, 4, 5, 6 и 7. См. также: Позиционные системы счисления Финансовый словарь Финам … Финансовый словарь
- (octal notation) Система чисел, использующая для выражения чисел восемь цифр от 0 до 7. Так, десятичное число 26 в восьмеричной системе будет записано как 32. Не будучи столь популярной, как шестнадцатиричная система счисления (hexadecimal… … Словарь бизнес-терминов
- — Тематики электросвязь, основные понятия EN octal notation … Справочник технического переводчика
восьмеричная система счисления
восьмеричная система - aštuonetainė sistema statusas T sritis automatika atitikmenys: angl. octal notation; octal number system; octal system; octonary notation vok. Achtersystem, n; oktales Zahlsystem, n; Oktalschreibweise, f; Oktalsystem, n rus. восьмеричная система … Automatikos terminų žodynas
Двенадцатеричная система счисления позиционная система счисления с целочисленным основанием 12. Используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B. Существует другая система обозначения, где для недостающих цифр используют не A и B, а t от… … Википедия
- (hexadecimal notation) Числовая система, использующая десять цифр от 0 до 9 и буквы от A до F для выражения чисел. Например, десятичное число 26 записывается в этой системе как 1А. Числа шестидесятеричной системы широко используются в… … Словарь бизнес-терминов
Системы счисления в культуре Индо арабская система счисления Арабская Индийские Тамильская Бирманская Кхмерская Лаоская Монгольская Тайская Восточноазиатские системы счисления Китайская Японская Сучжоу Корейская Вьетнамская Счётные палочки… … Википедия
Восьмеричная система счисления
Позиционная целочисленная система счисления с основанием 8. Для представления чисел в ней используются цифры 0 до 7.
Восьмеричная система часто используется в областях, связанных с цифровыми устройствами. Характеризуется лёгким переводом восьмеричных чисел в двоичные и обратно, путём замены восьмеричных чисел на триплеты двоичных. Ранее широко использовалась в программировании и вообще компьютерной документации, однако в настоящее время почти полностью вытеснена шестнадцатеричной.
Шестнадцатеричная система счисления
(шестнадцатеричные числа) -- позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 10 до 15 10 , то есть (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Правила переводов десятичных чисел в них и обратно
·
Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:
Точно так же, начиная с двоичной точки, двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа.Таким образом, двоичное число 110001 равнозначно десятичному 49.
Преобразование методом Горнера
Для того, чтобы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева направо, умножая ранее полученный результат на основу системы (в данном случае 2). Например, двоичное число 1011011 переводится в десятичную систему так: 0*2+1=1 >> 1*2+0=2 >> 2*2+1=5 >> 5*2+1=11 >> 11*2+0=22 >> 22*2+1=45 >> 45*2+1=91 То есть в десятичной системе это число будет записано как 91. Или число 101111 переводится в десятичную систему так: 0*2+1=1 >> 1*2+0=2 >> 2*2+1=5 >> 5*2+1=11 >> 11*2+1=23 >> 23*2+1=47 То есть в десятичной системе это число будет записано как 47.
Преобразование десятичных чисел в двоичные
Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой:
- 19 /2 = 9 с остатком 1
- 9 /2 = 4 c остатком 1
- 4 /2 = 2 с остатком 0
- 2 /2 = 1 с остатком 0
- 1 /2 = 0 с остатком 1
Итак, мы делим каждое частное на 2 и записываем остаток в конец двоичной записи. Продолжаем деление до тех пор, пока в делимом не будет 0. В результате получаем число 19 в двоичной записи: 10011.
Преобразование дробных двоичных чисел в десятичные
Нужно перевести число 1011010.101 в десятичную систему. Запишем это число следующим образом:
Преобразование дробных десятичных чисел в двоичные
Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
- · Вначале переводится целая часть десятичной дроби в двоичную систему счисления;
- · Затем дробная часть десятичной дроби умножается на основание двоичной системы счисления;
- · В полученном произведении выделяется целая часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной системе счисления;
- · Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются с предыдущего шага.
Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.
Перевод целой части дает 206 10 =11001110 2 по ранее описанным алгоритмам; дробную часть умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:
- 116 * 2 = 0.232
- 232 * 2 = 0.464
- 464 * 2 = 0.928
- 928 * 2 = 1.856
- 856 * 2 = 1.712
- 712 * 2 = 1.424
- 424 * 2 = 0.848
- 848 * 2 = 1.696
- 696 * 2 = 1.392
- 392 * 2 = 0.784
Получим: 206,116 10 =11001110,0001110110 2
· Преобразование восьмеричных чисел в десятичные.
Алгоритм перевода чисел из восьмеричной в десятичную систему счисления аналогичен уже рассматривавшему мною в разделе: Преобразование двоичных чисел в десятичные.
Для перевода восьмеричного числа в двоичное необходимо заменить каждую цифру восьмеричного числа на триплет двоичных цифр.
Пример: 2541 8 = 010 101 100 001 = 010101100001 2
Существует таблица перевода восьмеричных чисел в двоичные
· Преобразование шестнадцатеричных чисел в десятичные.
Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:
5A3 16 = 3·16 0 +10·16 1 +5·16І= 3·1+10·16+5·256= 3+160+1280= 1443 10
Для перевода многозначного двоичного числа в шестнадцатеричную систему нужно разбить его на тетрады справа налево и заменить каждую тетраду соответствующей шестнадцатеричной цифрой.
Например:
010110100011 2 = 0101 1010 0011 = 5A3 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
С помощью этой формулы мы всегда можем вычислить значение числа записанного не только в восьмеричной системе счисления, но и в любой другой позиционной системе. О других системах счисления можно почитать на нашем сайте по следующим ссылкам.