Основы, программирования Fortran, C++, D Санкт-Петербургский государственный университет фак. Прикладной математики – процессов управления гр. 103 – прикладная математика и информатика 2013. 10. 12. Числовые объекты и операции. Занятие № 6 Храмушин Василий Николаевич – V. Khramushin@SPBU. ru каф. компьютерного моделирования и многопроцессорных систем
Шестое занятие 12 октября … Встроенные типы данных Все типы языка Си++: целые числа разной разрядности, вещественные числа, логические величины, перечисляемые значения, символы и их кодировка. Общая информация == Вычислительная математика: ++ комплексные числа и арифметика, Целые числа ++ векторы и тензоры аналитической Вещественные числа геометрии и базовые операции с Логические величины синтезированными вычислительными объектами Символы и байты Кодировка, многобайтовые символы Наборы перечисляемых значений Классный компьютер \ws 101 -operatorShared folderKhram
гр. 103 – Прикладная математика и информатика Власов Александрович + 2. Данилов Артем Дмитриевич + 3. Каюмова Диана Шамильевна + 4. Колесова Александровна -5. Лапин Егор Дмитриевич + 6. Леганькова Дарья Андреевна + 7. Минаева Ульяна Сергеевна + 8. Мозин Виталий Романович + 9. Пенкрат Андрей Олегович + 10. Глотова Екатерина Андреевна 11. Пономарева Юлия Константиновна + 12. Сатина Алена Юрьевна + + 13. Сафронов Вадим Викторович + 14. Симанков Сергей Сергеевич + . Смирнова Дарья Сергеевна 1. + + + + + -+ + + + + + ----+ + + -+ /
Вопросы от 5 октября. Функции: 1. Алгоритмическое и функциональное программирование (реентерабельность, рекурсия, демоны и драйверы…. ); 2. 3. 4. Виды процедур функций в алгоритмических языках программирования, особенности реализации (процедуры, функции, операторы) Соглашения о связях – правила передачи параметров в процедурных блоках программы … (по адресу, по значению? ). … как начало элементарного программирования …
Аппаратные реализации числовых данных Байт без знака Короткое целое число без знака Целое число без знака Длинное целое без знака Число одинарной точности двойной точности увеличенной точности Логическое значение char -128 – 127 unsigned char 0 – 255 short -32768 – 32767 unsigned short 0 – 65535 int -2147483648 – 2147483647 unsigned int 0 – 4294967295 long -2147483648 – 2147483647 unsigned long 0 – 4294967295 float ± 3. 4 e-38 – ± 3. 4 e+38 (7 цифр) double ± 1. 7 e-308 – ± 1. 7 e+308 (15 цифр) long double ± 1. 2 e-4932 – ± 1. 2 e+4932 bool true (истина), false (ложь) Данные в языке С могут именоваться с точностью до каждого бита. Выравнивание любых данных всегда производится на размер машинного слова (32 или 64 бит = 4 или 8 байт)
Форма записи числовых констант //! варианты представления целочисленных констант const int a = 0100; // восьмеричная константа 64 auto int b = 64; // десятичное целое в стеке static int c = 0 x 40; // шестнадцатеричное число register int d = 1<<6; // двоичная 1 в шестой позиции volatile float e=64. 0, f=6. 4 e 1; // плавающее число restrict *char g="+"Уникум". "; // ссылка без алиасов //! собственно числовые величины unsigned [int] h = 32768 u; // 0 х80000000 беззнаковое целое long p = 32768 l; // 0 х80000000 обычное целое x 32 unsigned long q = 65536 ul; // 0 х100 длинное беззнаковое long r = 2147483648 L ; // ? = -2147483648 unsigned long s = 4294967296 UL; // ? = 1 0 х0 float t = 64. 0 F; // по умолчанию все константы - double x = 64. 0; // предпочтительный тип числа long double y=64. 0 L; // х80 причуды сопроцессора IBMx 86
Логические, битовые поля и символы //! двухбайтовые целые числа short n = 32767; // старое целое word – х16 unsigned short j = 65535 u; // fixed – символ UTF-8 struct Time. And. Date // битовое поле (? ? всего 39 бит – 5 байт) { unsigned unsigned }; hours mins secs week. Day month year : 5; : 6; : 3; : 6; : 5; : 8; // часы от 0 до 24 // минуты // секунды от 0 до 60 // день недели // день месяца от 1 до 31 // месяц от 1 до 12 // год от 0 до 100 //! логические и символьные bool k = true; // true = 1, false = 0, – двоичная логика char l = 64; // signed char -128 – байт byte m = 64; // unsigned char 0 – 255 – байт // GCC – для русских программ очень важно: -funsigned-char
Алфавит и кодировки //! Кодировки шрифтов: DOS-866, Win-1251, UTF-8 char // unsigned char 0 – 255 – байт a b f n r t v ' " \ звонок возврат на один символ назад перевод страницы новая строка перевод каретки горизонтальная табуляция вертикальная табуляция апостроф двойные кавычки обратная дробная черта char zero = '