русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 3432; Нарушение авторских прав


Существуют различные способы перевода чисел из одной системы счисления в другую. Рассмотрим наи­более доступный и не требующий сложных вычисле­ний способ перевода из десятичной системы счисления в систему с новым основанием — так называемый табличный способ. Его суть заключается в том, что исходное десятичное число представляют суммой раз­личных степеней нового основания. При этом степени подбирают из соответствующей таблицы (отсюда и название способа). Последовательность расположения степеней начинается с той, которая дает число, не превышающее исходного десятичного. Затем для чле­нов полученного ряда степеней подбирают соответст­вующие коэффициенты из алфавита новой системы счисления таким образом, чтобы их сумма была равна исходному десятичному числу.

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

1. Переведем десятичное число 377 в двоичную систему счисления. Наибольшая степень нового осно­вания S = 2, не превышающая числа 377, равна 8 (так как 28 = 256, а 29 = 512). Таким образом, после­довательность расположения степеней начинается с 28 и заканчивается 20. Из этих степеней подбираем те, которые при суммировании дают результат, равный 377. Затем перед членами, которые участвовали в сум­мировании, поставим коэффициент 1, акоторые не участвовали — 0. Окончательная запись двоичного числа состоит из этих коэффициентов:

37710=1·28 + 0·27 +1·26 +1·25 + 1·24 +1·23 +0·22 +0·21 +1·20 =

256 + 0 + 64+32 + 16 + 8 + 0 + 0

= 1011110012.

2. Выполним перевод этого же числа 37710 в вось­меричную систему счисления. Наибольшая степень восьми, не превышающая 377, равна 2; таким обра­зом, последовательность степеней будет состоять из 82, 81, 80. Подбирая к ним коэффициенты из алфавита восьмеричной степени счисления (от 0 до 7), оконча­тельно получим

37710 =5·82 + 7·81 + 1·81 = 5718



320 + 56 + 1

3. Выполним перевод числа 37710 в шестнадцатеричную систему счисления:

37710 = 1·162 + 7·161 + 9·160 = 17916.

256+ 112 + 9

4. Переведем восьмеричное число 5718 и шестнадцатеричное число 17916 в двоичную систему счисления. Для этого заменим каждую цифру этих чисел соответ­ственно 3-разрядным или 4-разрядным двоичным числом. Отбросив при этом ненужные нули, получим

( 5 7 1 ) = 1011110012

101 111 001

( 1 7 9 ) = 1011110012

0001 0111 1001

 

В обоих случаях имеем одинаковый результат 5718 = 17916 = 101111012, совпадающий срезульта­том, полученным непосредственным переводом вдво­ичную систему счисления исходного десятичногочи­сла 37710.

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

0,312510 = 0·2-1 + 1·2-2 + 0·2-3 + 1·2-4 = 0,01012;

0 + 0,25 + 0 + 0,0625 = 0,3125

0,312510 = 2·8-1 + 4·8-2 = 0,248

0.25 + 0,0625 = 0,3125

0,312510 = 5·16-1 = 0,516.

0,3125

 

5. Переводим восьмеричное число 0,248 и шестнадцатеричное 0,5!6 в двоичную систему счисления:

(0, _2__4_ )8 = 0,01012. (0, _5_)16 = 0,01012.
010 100 0101

В обоих случаях имеем одинаковый результат 0,248 = 0,516 = 0,01012, совпадающий с результатом, полученным непосредственным переводом в двоичную систему счисления исходной десятичной дроби 0,312510.

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

1. Перевод целого числа из системы счисления с основанием S в другую систему с основанием q осу­ществляется последовательным делением его на осно­вание q новой системы счисления до тех пор, пока не получится частное, меньшее q. Число в новой системе запишется в виде остатков деления, начиная с послед­него. Указанное деление выполняется в исходной си­стеме счисления.

Проиллюстрируем это правило примерами.

Для контроля правильности преобразований ис­пользуем примеры, выполненные ранее табличным способом. Сначала переведем десятичное число 377 в двоичную систему счисления последовательным деле­нием на основание

S = 2 новой системы:

377 : 2188 : 294 : 247 : 223 : 211: 25 : 22 : 21 : 2

188+1 94 + 0 47 +0 23 +1 11 +1 5 +1 2+1 1+0 0+1

¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯

1 0 0 1 1 1 1 0 1

¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬ ¬

1011110012

Аналогично выполним перевод в восьмеричную и шестнадцатеричную системы счисления:

377 : 847 : 85:8 377 : 1623 : 161 : 16

47 + 1 5+7 0+5 23 + 9 1 + 7 0 + 1

¯ ¯ ¯ ¯ ¯ ¯

1 7 5 9 7 1

¬ ¬ ¬ ¬ ¬ ¬ 5718¬ ¬ ¬ ¬ ¬ ¬ 17916

 

Остатки от соответствующих делений дают записи в новых системах счисления, т. е. 37710 = 1011110012 = = 5718 = 17916. Эти результаты полностью совпадают с теми, которые были ранее получены табличным способом.

2. Перевод правильной дроби из одной позицион­ной системы счисления в другую осуществляется последовательным умножением ее на основание S новой системы счисления; при этом перемножаются только дробные части. Дробь в новой системе счисления записывается в виде целых частей получающихся произведений начиная с первого.

Проиллюстрируем это правило на примере перево­да десятичной дроби 0,6875 в двоичную, восьмеричную и шестнадцатеричную системы счисления:

0,6875 0,3750 0,7500 0,5000

× 2 × 2 × 2 × 2

1,37500,75001,50001,0000

¯ ¯ ¯ ¯

1 0 1 1

® ® ® ® ® ® 0,10112

 

0,6875 0,5000 0,6875

× 8 × 8 × 16

5,5000 4,0000 11,0000

¯ ¯ ¯

5 4 В

® ® ® 0,548 ® ® 0,В16

 

В шестнадцатеричной системе счисления целая часть произведения 11 запишется символом В (см. таблицу 2.1), поэтому окончательно получим 0,687510 = 0,10112 = 0,548 = 0,В16.

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

3. Для перевода неправильных десятичных дробей (например, 15,6875) необходимо, пользуясь приведен­ными правилами, выполнить отдельно перевод целой и дробной частей.

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

Покажем это на примерах:

101,012 = 1·22 + 0·21 + 1·20 + 0·2-1 + 1·2-2 = = 4 + 0+1+0 + 0,25 = 5,2510;

46,28 = 4·81 + 6·80 + 2·8-1 = 32 + 6 + 0,25 = 38,2510;

1F,A= 1·161 + 15·160+ 10·16-1 = 16+ 15 + 0,625=31,62510.



<== предыдущая лекция | следующая лекция ==>
Системы счисления, применяемые в ЭВМ | КОНТРОЛЛЕРНЫЕ ФУНКЦИИ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 6.33 сек.