Компонентный Паскаль/Переменные и константы: различия между версиями

Содержимое удалено Содержимое добавлено
орфография
Строка 1:
__TOC__
==Типы данных==
Под понятием "Тип данных" скрывается семантическое свойство информации. Для компьютера, все байты информации представляют из себясобой пакеты из 8 бит. Каждый из битов может быть включенным или выключенным. В зависимости от того, как принято понимать эти состояния (прямая или инверсная логика) -- эти значения принимаются равными "0" или "1". Больше о содержимом ячеек памяти компьютер не знает ничего.
 
Но для программиста даже один байт может содержать различные типы информации. Например, 8 бит (= 1 байт), с точки зрения программиста -- может содержать числа от 0 до 255. А может и код символа в в однобайтовой кодировке ("а", "б", "в"...). А может и вообще что-то иное. Но все байты одинаковы, у них нет признака того, что они хранят<ref name="Эльбрус">Вообще, существуют компьютеры, которые контролируют типы данных на этапе исполнения программы и обработки данных. Например, см. "{{w|Эльбрус-3М1}}, {{w|ОС Эльбрус}}"</ref>. В какой-то момент, программист вполне может решить, что вот эта ячейка памяти хранит число от 0 до 255. А на самом деле, в самом начале, программист задумывал хранить в этой ячейке памяти код символа для последующей печати. Более того, вполне может быть, что программист решил использовать под свои нужды не одну, а сразу две (или даже тысячу) ячеек? Помнить где расположена каждая ячейка? И такие ошибки встречаются и у новичков, и у опытных программистов. Как решить эту проблему?