При вызове функций их аргументы
При вызове функций их аргументы - тоже выражения, поэтому в них приводятся char,short к int и float к double. Это говорит о том, что аргументы (формальные параметры) функций можно всегда объявлять как int и double вместо char,short и float соответственно.
Зато спецификатор unsigned является существенным.
В присваиваниях.
op = expr;
Тип выражения expr приводится к типу левой части - op. При этом возможны приведения более "длинного" типа к более "короткому" при помощи усечения, вроде:
int --> char обрубается старший байт. long --> int обрубается старшее слово. float --> int отброс дробной части double --> int и обрубание мантиссы, если не лезет. double --> float округление дробной части.
Вот еще некоторые приведения типов:
signed --> unsigned виртуально (просто знаковый бит unsigned --> signed считается значащим или наоборот). unsigned int --> long добавление нулей слева. int --> long расширение знакового бита. float --> int преобразование внутреннего int --> float представления: машинно зависимо.
Некоторые преобразования могут идти в несколько стадий, например:
char --> long это char --> int --> long char --> unsigned long это char --> int --> unsigned long
Таблица шестнадцатеричных чисел (HEX).
0 | 0 | 0x0 | 0000 |
1 | 1 | 0x1 | 0001 |
2 | 2 | 0x2 | 0010 |
3 | 3 | 0x3 | 0011 |
4 | 4 | 0x4 | 0100 |
5 | 5 | 0x5 | 0101 |
6 | 6 | 0x6 | 0110 |
7 | 7 | 0x7 | 0111 |
8 | 010 | 0x8 | 1000 |
9 | 011 | 0x9 | 1001 |
10 | 012 | 0xA | 1010 |
11 | 013 | 0xB | 1011 |
12 | 014 | 0xC | 1100 |
13 | 015 | 0xD | 1101 |
14 | 016 | 0xE | 1110 |
15 | 017 | 0xF | 1111 |
16 | 020 | 0x10 | 10000 |
Таблица степеней двойки.
0 | 1 | 8 | 256 |
1 | 2 | 9 | 512 |
2 | 4 | 10 | 1024 |
3 | 8 | 11 | 2048 |
4 | 16 | 12 | 4096 |
5 | 32 | 13 | 8192 |
6 | 64 | 14 | 16384 |
7 | 128 | 15 | 32768 |
16 | 65536 |
Двоичный код: внутреннее представление целых чисел.
Целые числа в большинстве современных компьютеров представлены в виде двоичного
кода. Пусть машинное слово состоит из 16 бит. Биты нумеруются справа налево начиная с 0. Обозначим условно бит номер i через b[i]. Значением его может быть либо 0, либо 1.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий