русс | укр

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

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

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

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


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

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


Дата добавления: 2014-02-04; просмотров: 1265; Нарушение авторских прав


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

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

Здесь an — это цифры числа, a Z — основание системы счисления, в нашем лучае — 10.

При работе с различными системами счисления мы будем записывать само число в скобках, а за скобками — основание системы. Например, если написать просто число 1100, то не понятно, в какой системе оно записано — это может быть одна тысяча сто, а может быть 12, если число записано в двоичной системе. А если представить число в виде (1100)2, то сразу все становится на свои места: число записано в двоичной системе. Кстати, двоичная система тоже является позиционной, поэтому число 1100 в двоичной системе мы можем представить так:

(1100)2 = 1*23 + 1*22 + 0*21 + 0*20

После сложения 8+4 мы получим, что (1100)2 равно 12. Обратите внимание, что для представления числа 12 в двоичной системе использованы только четыре разряда.

Наибольшее число, которое можно записать четырьмя двоичными цифрами, равно 15, потому что (1111)2 = 1*8 + 1*4 + 1*2 + 1*1 = 15. Давайте рассмотрим первые 16 чисел:

Числа растут равномерно, и нетрудно предположить, что 16 будет представлено в двоичной системе как (10000)2.

Восьмеричная система счисления (по основанию 8) состоит из большего количества цифр — из восьми (от 0 до 7). Преобразование из этой системы в десятичную систему полностью аналогично преобразованию из двоичной системы, например:



(77)8 = 7*81 + 7*81 = 63

В шестнадцатеричной системе цифрами представлены только первые 10 чисел, а для представления остальных 5 чисел используются символы A-F:

А = 10, В = И, С = 12, D = 13, Е = 14, F = 15

 

Для шестнадцатеричной системы сохраняются те же принципы преобразования:

 

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

А теперь займемся обратным преобразованием — из десятичной системы в систему с основанием n. Для обратного преобразования мы должны делить наше число на n и записывать остатки от деления до тех пор, пока частное от предыдущего деления не станет равно 0. Например, преобразуем 14 в двоичную систему:

14/2 = 7 остаток 0

7/2 = 3 остаток 1

3/2 = 1 остаток 1

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

Мы завершили процесс деления, когда последнее частное стало равно 0.

Теперь запишем все остатки подряд от последнего к первому, и мы получим

число в двоичной системе —• (1110)2.

Рассмотрим еще один пример — преобразование числа 13 в двоичную систему:

13/2 = 6 остаток 1

6/2 = 3 остаток 0

3/2 = 1 остаток 1

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

Как и в прошлом случае, мы делили до тех пор, пока частное не стало равно 0. Если записать остатки снизу вверх, мы получим двоичное число (1101)2.

А теперь потренируемся с шестнадцатеричной системой — преобразуем число 123456 в эту систему:

123456/16 = 7716 остаток 0

7716/16 = 482 остаток 4

482/16 = 30 остаток 2

30/16 = 1 остаток 14 = Е

1/16 = 0 остаток 1

После записи всех остатков получим, что число 123 456 = (lE240)16.

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

• Запись шестнадцатеричного числа начинается с 0х или $0 либо заканчивается символом «h». Если первая цифра шестнадцатеричного числа — символ A-F, то перед таким числом нужно обязательно написать 0, чтобы компилятор понял, что перед ним число, а не идентификатор, например, 0DEADh.

Таким образом, записи 0x1234, $01234 и 01234h представляют число (1234)16.

• Десятичные числа могут записываться без изменений либо они заканчиваться постфиксом «d». Например, 1234 и 1234d представляют число (1234)10.

• Двоичные цифры должны заканчиваться постфиксом «b », например, 1100b —это (1100)2.

• Восьмеричные цифры заканчиваются на «q»: 12q — это (12)8.

 



<== предыдущая лекция | следующая лекция ==>
Определите ошибку | Процессоры и их регистры. Общая информация


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


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

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

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


 


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

 
 

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

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