Читайте также:
|
|
Основным средством работы с данными в программировании являются переменные. Переменная — это область в оперативной памяти, за которой в программе закреплено собственное имя. Отсюда следует первая важная характеристика переменной – это ёе адрес. Но одного адреса недостаточно, чтобы знать, сколько байт считывать как одну переменную и как эти байты интерпретировать. Для этого служит тип переменной. В стандарт языка Си входят следующие типы данных:
К каждому их вышеперечисленных типов можно приписать слева модификатор unsigned, который сделает нижнюю границу диапазона значений равной 0, а верхнюю: 256 для unsigned char, 65536 для unsigned short int, 4294967295 для unsigned int и 264-1[4]. Если написать просто unsigned, без указания типа, то это будет воспринято как unsigned int.
Можно заметить, что здесь не был назван логический тип данных, присутствующий во многих языках – и действительно, в языке Си его нет. Но в этом языке есть соглашение: переменная любого типа, если она в двоичном представлении состоит из одних нулей, считается логическим 0 (ЛОЖЬ, FALSE), а при любом ненулевом значении – 1 (ИСТИНА, TRUE).
Числа с плавающей точкой в языке Си записываются в виде <целая часть>.<дробная часть> либо <мантисса>e<экспонента>. Для записи шестнадцатеричных чисел используется конструкция 0x<шестнадцатеричное число>, а для восьмеричных – 0<восьмеричное число>.
При написании программ может возникнуть ситуация, в которой нужно переменной одного типа присвоить значение переменной другого. Рассмотрим, что получится, если так сделать. Зная то, как представлены в компьютере числа типа float, очевидным является то, что при попытке прочитать эту переменную как int на выходе получится мусор[5]. Но и с целочисленными типами ситуация не лучше: Если попытаться записать переменную типа char в int, то изменится только младший байт int, и в итоге также получится мусор. Чтобы избежать таких ситуаций используется преобразование типов. Преобразование типов – это абстракция, позволяющая осуществлять присваивание между переменными разных типов в соответствии с правилами, созданными на основе логики человека, а не реального представления данных в компьютере. Так, при записи переменной типа char в переменную int старшие байты заполняются нулями, а при записи float в int значение округляется до целых, и в таком виде записывается в int.
Дата добавления: 2015-11-13; просмотров: 62 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Часть 1: хранение данных в компьютере. | | | Часть 1: основные операторы и их приоритеты. |