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

что строку битов 1000 0000


(-!)-! = -2

1111 1111-00000001 = 1111 1110

  

    Отметим, что строку битов 1000 0000 нельзя получить ни из какого поло­жительного значения. Она представляет значение -128, тогда как соответству­ющее положительное значение 128 нельзя представить как 8-разрядное число. Необходимо учитывать эту асимметрию в диапазоне типов integer, особенно при работе с типами short.

    Альтернативное представление чисел со знаками — дополнение до единицы, в котором представление значения -n является просто дополнением п. В этом случае набор значений симметричен, но зато есть два представления для нуля: 0000 0000 называется положительным нулем, а 1111 1111 называется отрица­тельным нулем.

    Если в объявлении переменной синтаксически не указано, что она без знака (например, unsigned), то по умолчанию она считается целой со знаком:

I

nt i;                        /* Целое со знаком в языке С */

I: Integer;               -- Целое со знаком в языке Ada

 

 

 

 



 

 

 

 

Целочисленные операции

   К целочисленным операциям относятся четыре основных действия: сложе­ние, вычитание, умножение и деление. Их можно использовать для составле­ния выражений:

а + b/с - 25* (d - е)

    К целочисленным операциям применимы обычные математические правила старшинства операций; для изменения порядка вычислений можно исполь­зовать круглые скобки.

    Результат операции над целыми числами со знаком не должен выходить за диапазон допустимых значений, иначе произойдет переполнение, как рассмотрено ниже. Для целых чисел без знака используется циклическая ариф­метика. Если short int хранится в 16-разрядном слове, то:

с

unsigned short int i;                                    /* Диапазон i= 0...65535*/                              

i = 65535;                                                  /* Наибольшее допустимое значение*/

i = i + 1;                                                     /*Циклическая арифметика, i = 0 */


Содержание раздела