русс | укр

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

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

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

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


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

Целые числа

Для представления целых чисел в языке C++ существует несколь­ко типов, например, short int (”короткое” целое), int (целое) и long int (“длинное” целое). Они отличаются друг от друга диапазо­ном возможных значений (см. табл. 1). В словосочетаниях short int и long int описатель int можно опустить. Каждый из целочисленных типов может быть знаковым (signed) или беззнаковым (unsigned). По умолчанию, тип целых величин – знако­вый. Если перед определением типа стоит ключевое слово unsigned, то тип целого числа беззнаковый. Так, для того, чтобы объявить переменную x как короткое целое знаковое число, нужно записать:

short x;

а чтобы указать, что оно короткое беззнаковое –

unsigned short x;

Переменная без знака может принимать только неотрицательные значения, переменная со знаком – как неотрицательные, так и отрицательные значения.

Тип int совпадает либо с short, либо с long. В современных аппаратно-операционных средах int можно принимать за полный аналог long, хотя некоторое время назад, в эпоху распространения 16-разрядной аппаратной базы, int совпадал с short.

Целое число может быть непосредственно записано в программе в виде константы. Запись чисел соответствует общепринятой нотации. Примеры целых констант: 0, 125, -37. По умолчанию целые константы принадлежат к типу int.

Кроме стандартной десятичной записи, числа можно записывать в восьмеричной или шестнадцатеричной системе счисления. Признаком восьмеричной системы счисления является цифра 0 в начале числа, признаком шестнадцатеричной – 0х или 0Х перед числом. Для записи шестнадцатеричных цифр используются большие или маленькие латинские буквы от А до F.

const int x = 240;

const int y = 0360;

const int z = 0xF0;

Отрицательные числа предваряются знаком “минус” (-).

Для целых чисел определены стандартные арифметические опе­рации сложения (+), вычитания (-), умножения (*), деления (/), нахожде­ние остатка от деления (%), изменение знака (-). Результатом этих опера­ций также является целое число. При делении остаток отбрасывается.

Кроме стандартных арифметических операций, для целых чисел определен набор побитовых (или поразрядных) операций. В них целое число рассматривается как строка битов (нулей и единиц при записи числа в двоичной системе счисления или разрядов машинного представления числа).

К этим операциям относятся поразрядные (побитовые) операции И (&), ИЛИ (|), ИСКЛЮЧАЮЩЕЕ ИЛИ (^) и НЕ (отрицание) (~), а также поразрядные сдвиги. Поразрядные операции И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ и НЕ выполняют операцию над соответствующими отдельными битами своих операндов, их результаты приведены в таблице 2.

Таблица 2. Результаты выполнения побитовых операций

p q p & q p | q p^q ~p

Операции сдвига, обозначаемые << и >>, сдвигают двоичное представление левого операн­да в “указываемую” сторону на количество битов, соответствующее значению правого операнда.

При сдвиге влево число дополняется нулями справа. При сдвиге вправо значение, которым дополняется число, определяется тем, знаковое оно или беззнаковое. Беззнаковые числа при сдвиге вправо всегда допол­няются нулями. Если же число знаковое, то для дополнения используется значение самого левого бита числа. Это объясняется тем, что во внутреннем представлении целых чисел в компьютере самый левый бит как раз и является знаком: 0 означает плюс, 1 означает минус.

Рассмотренные арифметические и поразрядные операции выполняются над целыми числами и в результате дают целое число. В отличие от них операции сравнения выполняются над целыми числами, но в результате дают логическое значение истина (true) или ложь (false).

Для целых чисел определены операции сравнения: равенства (= =), неравенства (!=), больше (>), меньше (<), больше или равно (>=) и меньше или равно (<=).

В языке C++ допустимо смешивать различные целые типы в выражении. Общее правило преобразования целых типов состоит в том, что более короткий тип при вычислениях преобразу­ется к более длинному. Только при выполнении присваивания более длинный тип может преобразовываться к более короткому. Такое преобразование не всегда безопасно, при нем могут потеряться значащие цифры. Обычно компиляторы выдают предупреждение или ошибку, встречая такое преобразование.

Просмотров: 597


Вернуться в оглавление



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


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

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

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


 


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

 
 

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