Презентация Операции в языке С (продолжение) онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Операции в языке С (продолжение) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 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
- Автор:неизвестен
Слайды и текст к этой презентации:
№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;
}
№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 слайд
Содержание слайда: Битовое И - &
Результатом битового И будет число, каждый бит которого является результатом булевой операции И между соответствующими битами аргументов.
Коротко: если бит равен 0 в любом из аргументов – он равен 0 в результате.
A &= B эквивалентно A = A & B.
Битовое И удобно использовать для обнуления отдельных битов:
a &= ~1;
№27 слайд
Содержание слайда: Сдвиг влево - <<
A << B эквивалентно
Пустые биты справа заполняются нулями
a <<= 3 эквивалентно a = a << 3
Сюрпризы:
Сдвиг на отрицательное число – undefined behavior
Сдвиг отрицательного числа влево (начиная со стандартов С99 и С++11) – undefined behavior
Если сдвигается положительное знаковое число, то результат сдвига должен помещаться в переменную-приемник, иначе – undefined behavior.
№30 слайд
Содержание слайда: Сюрприз в сюрпризе
Описания сдвигов отрицательных чисел появились в стандарте слишком поздно.
Программисты успели написать достаточно кода, где такие сдвиги используются!
Зачем?
Для получения битовых масок с заданным числом нулей удобно сдвигать -1 (если он в доп. коде)
Но так делать не надо! Сдвигайте лучше ~0u
№37 слайд
Содержание слайда: Теоретический анализ?
Абстрагироваться от «железа»
Абстрагироваться от входных данных
Получается т.н. «О-нотация» (Big-Oh notation):
Время работы алгоритма выражается как функция от размера входных данных N
Игнорируются константные коэффициенты
Остается только старший порядок
Очень грубое объяснение! Подробнее см. «алгоритмическая сложность», «теория алгоритмов»
Скачать все slide презентации Операции в языке С (продолжение) одним архивом:
-
Программирование на языке С. Модуль 2. Операции
-
Программирование на языке высокого уровня. Битовые операции
-
Алгоритмические языки и программирование. Операции в языке Си
-
Числа со знаком. Операции в языке С. Ассемблерные команды, им соответствующие
-
Программирование на языке Java. Примитивные типы данных. Операции, комментарии. (Лекция 2. 1)
-
Программирование на языке С. Лекция 6. Операции и операторы
-
ОПЕРАЦІЙНА СИСТЕМА UNIX 1. Загальні відомості і структура ОС UNIX 2. Основи роботи у UNIX 3. Типи оболонок 4. Маски 5. Трубопроводі UNIX - ст
-
Функции в языке программирования VB
-
Одномерные массивы в языке программирования Паскаль. Составление программ
-
Алгоритмическая структура ветвление на языке Visual Basic