русс | укр

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

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

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

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


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

Представление символьных данных


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


О вещественных числах

 

В ПК неткоманд, реализующих арифметические операции над вещественными числами.

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

 

Как же тогда работать на ПК с вещественными числами?

Возможны два реше­ния данной проблемы.

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

Во-вторых, к ПК можно присоединить специальное устройство - арифметичес­кий сопроцессор, который умеет выполнять арифметические операции над веще­ственными числами.

Центральный процессор взаимодействует с этим сопроцессо­ром по следующему сценарию:

- когда надо выполнить вещественную операцию, центральный процессор посылает сигнал сопроцессору и передает ему соответ­ствующие операнды(в ПК есть специальная команда для этого);

- сопроцессор вы­полняет указанную операцию, записывает результат в определенное место и воз­вращает управление центральному процессору, который после этого продолжает свою работу.

 

Рассказ про арифметические сопроцессоры - это большая самостоятельная те­ма, которой мы не будем касаться .

Поэтому в дальнейшем мы не будем рассматривать вещественные числа и связанные с ними команды ПК и средства языка ассемблера

(например, директивы DQиDT).

 

Как и любая другая информация, символьные данные должны храниться в па­мяти ЭВМ в двоичномвиде. Для этого каждому символу ставится в соответствие некоторое неотрицательное число, называемое кодомсимвола, и это число запи­сывается в память ЭВМ в двоичном виде.



 

Конкретное соответствие между симво­лами и их кодами называется системой кодировки.

 

В ЭВМ, как правило, используются 8-разрядные кодысимволов. Это позволяет закодировать 256различных символов, чего вполне достаточно для представления многих символов, используемых на практике.

Поэтому для кода символа доста­точно выделить в памяти один байт.

Так и делают: каждый символ представляет­ся своим кодом, который записывают в один байт памяти.

В ПК обычно используется система кодировки ASCII (American Standard Code for Information Interchange - американский стандартный код для обмена информации ).

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

 

Чаще всего, пожалуй, используется вариант, известный под названием "Альтернативная кодировка ГОСТ".

 

Мы не будем при­водить эти системы кодировки, а отметим лишь следующие их особенности, ко­ме важно знать при работе с символьными данными.

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

- Коды цифр упорядочены по возрастанию и идут безпропусков.

 

Поэтому из неравенств

код ('0') <= код(с) <= код('9')

следует, что с - цифра, и поэтому справедливо равенство

код(i)=код('0')+i, где i -число от0 до 9.

Отметим также, что код('0') <> 0.

 

- Коды больших латинских букв упорядочены согласно алфавиту и также идут без пропусков.

 

Поэтому из неравенств

код('А') <= код(с) <= код('z')

следует, что с - большая латинская цифра, и поэтому код i-й по порядку (при нумерации с 0) буквы латинского алфавита равен сумме код('А')+1.

 

Все то же самое вернои для малыхлатинских букв. В альтернативной кодировке ГОСТ коды русских букв (больших и малых) упорядочены согласно алфавиту, но если коды больших букв идут без пропус­ков, то между кодами малыхбукв 'п'и 'р' вклиниваются коды иныхсимволов.

 

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

 

Адрес первого из этих байтов считается адресом строки.

 

Отметим, что эта последовательность кодов записывается в ПК в нормальном, неперевернутом виде.

 

Например,

строка 'авс'будет представлена в памяти так

(А - адрес строки):



<== предыдущая лекция | следующая лекция ==>
Двоично-десятичные числа | Двухбитовое поле mod определяет, сколько байтов в команде занимает операнд-адрес


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


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

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

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


 


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

 
 

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

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