Задачи по языку С


Пояснения: - часть 2


/p>

Основные типы 2.6

d = f = l = i = 100000/3 (d=(f=(l=(i=(100000/3))))
(d=(f=(l=(integer)33333))) и i=33333 или переполнение Как мы уже видели раньше, 33333 - значение, переполняющее 16-разрядное целое со знаком. Если для представления целых использовать больше разрядов, то i так же, как l, f и d, получат значение 33333. Ниже мы ориентируемся на 16-разрядные целые.
(d=(f=(long)-32203)) и l=-32203 Результат операции, приведшей к переполнению, - это обычное число, но не то, которое ожидалось. Значение 33333 будет потеряно независимо от дальнейших приведений типов.
(d=(float)-32203) и f=-32203 (double)-32203 и d=-32203 32203 двойной точности

О числах. Работа с числами не самая сильная сторона языка С. Язык не дает способа выявить арифметические ошибки, даже если аппаратура и имеет такие средства. Диапазон представления чисел фиксируется при написании транслятора, и в языке нет средств, чтобы задать этот диапазон. Лучшее, что можно сделать для проверки попадания числа в диапазон, - это явный контроль значений переменных в критических точках вычисления.




- Начало -  - Назад -  - Вперед -