Меняем переменные местами без временной переменной

Для того, чтобы поменять местами информацию из 2 блоков памяти совершенно не обязательно копировать один из них, записывать в него второй блок, а затем сохранённое значение записывать во второй блок.

Казалось бы, это невозможно сделать, потому что как можно “запомнить”, что было в ячейке до перезаписи. Машина ведь не может “жонглировать” переменными или параллельно читать и записывать в одни и те же переменные.

Единицы измерения информации - откуда путаница и как на ней зарабатывают?

Вся информация на компьютерах хранится в виде последовательностей битов. К сожалению, близость значений 2^{10} = 1024 и 10^3 = 1000 привела к путанице при измерении количества информации.

Изначально различали метрическую единицу 1 килобайт = 1000 байт и двоично-десятичную единицу 1 Кбайт = 1024 байта.

Goto - вред или быстродействие?

Споры по поводу оправданности использования оператора goto в языках высокого уровня ведутся ещё с 1968 года, то есть больше 50 лет. Придти к окончательному выбору невозможно, поскольку как использование, так и полный отказ от оператора goto имеет свои достоинства и недостатки.

Очевидно, что ни одна нормальная программа не может работать без переходов на уровне машинных кодов, так как ни цикл, ни проверку условия, ни вызов/возврат значения из функции невозможно сделать команд явного или условного перехода. То есть программа без переходов, согласно принципам Фон Неймана, может выполняться только последовательно.

Основная тригонометрия в разработке 2D игр

При разработке игр часто приходится работать с треугольниками и углами. Если в игровом мире даже всего 2 объекта, между ними уже можно построить треугольник, посчитать расстояние и найти различные углы.

В данном посте я расскажу о наиболее часто встречающейся математики в 2D-играх.

Pagination


Copyright © 2019 Александр Майоров. Все права защищены.