Презентация Операции в языке С (продолжение) онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Операции в языке С (продолжение) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 38 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Операции в языке С (продолжение)



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    38 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    1.67 MB
  • Просмотров:
    56
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Есть ли у вас вопросы?
Содержание слайда: Есть ли у вас вопросы?

№2 слайд
Краткое содержание предыдущей
Содержание слайда: Краткое содержание предыдущей серии Как в ассемблере происходит сравнение? Как используется результат сравнения? Что такое «условное исполнение»? Как в ассемблере осуществляется ветвление?

№3 слайд
Краткое содержание этой серии
Содержание слайда: Краткое содержание этой серии О магии Операции в языке С (продолжение) О-нотация

№4 слайд
Что такое магия ? В широком
Содержание слайда: Что такое «магия»? В широком смысле – это «что-то непонятное». Строгой классификации не существует. Условно: белая магия – результат действия полностью понятен, но не понятен механизм черная магия – результат действия понятен не полностью или вообще ничего непонятно

№5 слайд
Пример белой магии Функция
Содержание слайда: Пример «белой магии» Функция sin. Что возвращает sin? Синус угла. А как она его вычисляет? Правильно. Если вас устраивает результат «белой магии» (точность, скорость и т.д.), то понимать ее механизм не обязательно.

№6 слайд
Пример черной магии
Содержание слайда: Пример «черной магии»

№7 слайд
Причины магии Индуизм Ручная
Содержание слайда: Причины «магии» «Индуизм» Ручная оптимизация Магические числа Обфускация (намеренное ухудшение читаемости кода) Недокументированные и малоизвестные особенности чего-либо Соревнования волшебников

№8 слайд
Индуизм индусский код
Содержание слайда: «Индуизм» («индусский код»)

№9 слайд
Магические числа Это
Содержание слайда: «Магические числа» Это численные константы, смысл которых не ясен.

№10 слайд
Как сделать черную магию
Содержание слайда: Как сделать черную магию белой? // Быстрый вариант функции 1/sqrt. // Быстр при аппаратной поддержке плавающей арифметики float fastInverseSqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; i = 0x5f3759df - ( i >> 1 ); y = * ( float * ) &i; y = y * ( threehalfs - ( x2 * y * y ) ); return y; }

№11 слайд
Что такое интерфейс?
Содержание слайда: Что такое интерфейс? Интерфейс – набор входов и выходов черного ящика; их свойства, возможные диапазоны и т.д. В зависимости от области интерфейс может быть разным.

№12 слайд
Интерфейсы
Содержание слайда: Интерфейсы

№13 слайд
Хороший интерфейс делает
Содержание слайда: Хороший интерфейс делает черную магию белой! Хороший интерфейс делает черную магию белой!

№14 слайд
Операции в языке С
Содержание слайда: Операции в языке С (продолжение) Логические Битовые

№15 слайд
Логические операции !
Содержание слайда: Логические операции ! – логическое отрицание && - логическое И || - логическое ИЛИ Т.к. тип bool был введен только в С99, все логические операции используют тип int. Поэтому для них 0 – это ложь, а любое другое число – истина.

№16 слайд
Логическое отрицание - !
Содержание слайда: Логическое отрицание - !

№17 слайд
Логическое ИЛИ - Результат
Содержание слайда: Логическое ИЛИ - || Результат выражения А || B равен нулю, только если оба аргумента равны нулю, во всех остальных случаях результат равен единице.

№18 слайд
Логическое И - amp amp
Содержание слайда: Логическое И - && Результат выражения А && B равен единице, только если оба аргумента не равны нулю, во всех остальных случаях результат равен нулю.

№19 слайд
Логические операции в
Содержание слайда: Логические операции в ассемблере Их нет! Есть только битовые. Все операции, которые называются «logical» в тех. описании, являются битовыми. Логические операции языка С превращаются в несколько ассемблерных команд.

№20 слайд
Битовые операции языка С -
Содержание слайда: Битовые операции языка С ~ - битовая инверсия | - битовое ИЛИ & - битовое И ^ - битовое исключающее или (XOR) >> - сдвиг вправо << - сдвиг влево Все битовые операции выполняются над двоичными представлениями чисел. В языке С битовые операции определены только для целых чисел!

№21 слайд
Битовая инверсия - При
Содержание слайда: Битовая инверсия - ~ При битовой инверсии каждый бит двоичного представления аргумента меняется на противоположный (инвертируется). Размер (в байтах) результата операции равен размеру аргумента, поэтому результат зависит от типа! Примеры: uint8_t A = 5; // A = 0000 01012 = 510 A = ~A; // A = 1111 10102 = 25010 uint16_t B = 5; // B = 0000 0000 0000 01012 = 510 B = ~B; // B = 1111 1111 1111 10102 = 6553010

№22 слайд
Битовое ИЛИ - Результатом
Содержание слайда: Битовое ИЛИ - | Результатом битового ИЛИ будет число, каждый бит которого является результатом булевой операции ИЛИ между соответствующими битами аргументов. Коротко: если бит равен 1 в любом из аргументов – он равен 1 в результате. A |= B эквивалентно A = A | B. Битовое ИЛИ удобно использовать для установки отдельных битов в единицу: a |= 1;

№23 слайд
Битовое И - amp Результатом
Содержание слайда: Битовое И - & Результатом битового И будет число, каждый бит которого является результатом булевой операции И между соответствующими битами аргументов. Коротко: если бит равен 0 в любом из аргументов – он равен 0 в результате. A &= B эквивалентно A = A & B. Битовое И удобно использовать для обнуления отдельных битов: a &= ~1;

№24 слайд
Битовое исключающее ИЛИ XOR -
Содержание слайда: Битовое исключающее ИЛИ (XOR) - ^ Если значение одного бита у аргументов разное – то результат равен 1. A ^= B эквивалентно A = A ^ B. Битовое исключающее ИЛИ удобно использовать для инверсии отдельных битов: a ^= 1;

№25 слайд
Содержание слайда:

№26 слайд
Сдвиги Сдвиги бывают просто
Содержание слайда: Сдвиги Сдвиги бывают: «просто» сдвиги – они же «логические» (без учета знака) арифметические (с учетом знака) циклические Какие же сдвиги в языке С? Не циклические.

№27 слайд
Сдвиг влево - lt lt A lt lt B
Содержание слайда: Сдвиг влево - << A << B эквивалентно Пустые биты справа заполняются нулями a <<= 3 эквивалентно a = a << 3 Сюрпризы: Сдвиг на отрицательное число – undefined behavior Сдвиг отрицательного числа влево (начиная со стандартов С99 и С++11) – undefined behavior Если сдвигается положительное знаковое число, то результат сдвига должен помещаться в переменную-приемник, иначе – undefined behavior.

№28 слайд
Сдвиг вправо - gt gt A gt gt
Содержание слайда: Сдвиг вправо - >> A >> B эквивалентно a >>= 4 эквивалентно а = а >> 4 Сюрпризы: Сдвиг вправо отрицательных чисел – implementation defined Сдвиг на отрицательное число – undefined behavior Поэтому сдвиг вправо вроде бы арифметический, но вроде бы и нет.

№29 слайд
Примеры сюрпризов int a - lt
Содержание слайда: Примеры сюрпризов int a = -1 << 1; - undefined behaviour int a = 1 << 100; - undefined behaviour int a = 1 << -2; - undefined behaviour int a = 1 >> -3; - undefined behaviour int a = -1 >> 4; - implementation defined

№30 слайд
Сюрприз в сюрпризе Описания
Содержание слайда: Сюрприз в сюрпризе Описания сдвигов отрицательных чисел появились в стандарте слишком поздно. Программисты успели написать достаточно кода, где такие сдвиги используются! Зачем? Для получения битовых масок с заданным числом нулей удобно сдвигать -1 (если он в доп. коде) Но так делать не надо! Сдвигайте лучше ~0u

№31 слайд
Рассмотрим два алгоритма
Содержание слайда: Рассмотрим два алгоритма сортировки

№32 слайд
Какой из них быстрее? А если
Содержание слайда: Какой из них быстрее? А если взять другой массив? А если взять другой компьютер? А если массив будет гораздо, гораздо больше?

№33 слайд
Как узнать, какой алгоритм
Содержание слайда: Как узнать, какой алгоритм быстрее? Написать программу и запустить? но ее можно написать с ошибками на разных компьютерах скорость будет разной на разных исходных данных скорость будет разной на разных запусках скорость может быть разной!

№34 слайд
Теоретический анализ? Какая
Содержание слайда: Теоретический анализ? Какая самая долгая операция в алгоритме? Какая операция выполняется наибольшее количество раз? От чего зависит это количество?

№35 слайд
Теоретический анализ?
Содержание слайда: Теоретический анализ?

№36 слайд
Теоретический анализ?
Содержание слайда: Теоретический анализ?

№37 слайд
Теоретический анализ?
Содержание слайда: Теоретический анализ? Абстрагироваться от «железа» Абстрагироваться от входных данных Получается т.н. «О-нотация» (Big-Oh notation): Время работы алгоритма выражается как функция от размера входных данных N Игнорируются константные коэффициенты Остается только старший порядок Очень грубое объяснение! Подробнее см. «алгоритмическая сложность», «теория алгоритмов»

№38 слайд
А можно сортировать быстрее?
Содержание слайда: А можно сортировать быстрее? Если ничего не известно о входных данных Быстрая сортировка – в среднем Сортировка слиянием - Если известно Поразрядная сортировка () ) Сортировка подсчетом ())

Скачать все slide презентации Операции в языке С (продолжение) одним архивом: