Книга: Язык программирования Си. Издание 3-е, исправленное
A6.2. Целочисленные преобразования
A6.2. Целочисленные преобразования
Любое целое приводится к некоторому заданному беззнаковому типу путем поиска конгруэнтного (т. е. имеющего то же двоичное представление) наименьшего неотрицательного значения и получения остатка от деления его на nmax + 1, где nmax - наибольшее число в этом беззнаковом типе. Для двоичного представления в дополнительном коде это означает либо выбрасывание лишних старших разрядов, если беззнаковый тип "уже" исходного типа, либо заполнение недостающих старших разрядов нулями (для значения без знака) или значением знака (для значения со знаком), если беззнаковый тип "шире" исходного.
В результате приведения любого целого к знаковому типу преобразуемое значение не меняется, если оно представимо в этом новом типе, и противном случае результат зависит от реализации.
- Функции true и false
- A6. Преобразования
- A6.4. Типы с плавающей точкой
- Целочисленные типы
- Преобразования
- 2.7 Преобразования типов
- Модификаторы спецификации преобразования, используемые в функции printf( )
- 2.16. Явные и неявные преобразования
- А6.5. Арифметические преобразования
- Преобразования типов при присваивании
- Преобразования снаружи
- Конфигурация зоны для обратного преобразования