Pull to refresh
2
0

User

Send message
Два одинаковых аргумента тем более указывают на пересекающиеся области памяти.
Хотя на практике будет работать, конечно.

Закон Мёрфи тут тоже действует: lwn.net/Articles/414467/
6-битным не получится, потому что CHAR_BIT должен быть не менее 8 :)
Когда препроцессор обрабатывает файл, он на месте входа и выхода из каждого заголовочного файла оставляет такие метки. Таким образом, когда компилятор захочет сообщить об ошибке, то он сможет сказать «ошибка на 42-й строке файла test.h» вместо «ошибка на 12345-й строке препроцессированного файла».
Ну не все же компиляторы одинаково хороши в этом плане. GCC и Clang с этим нормально справляются.
Где это в Си вы обнаружили типы бит и байт, я извиняюсь?

Вот где:

С11 3.5: bit — unit of data storage in the execution environment large enough to hold an object that may
have one of two values

С11 3.6: byte — addressable unit of data storage large enough to hold any member of the basic character
set of the execution environment (NOTE: A byte is composed of a contiguous sequence of bits)

Сдвиги там определены как E1 * 2^E2 и E1 / 2^E2 соответственно

Полное определение такое (C11 6.5.7.4):

The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits are filled with zeros. If E1 has an unsigned type, the value of the result is E1 × 2^E2, reduced modulo one more than the maximum value representable in the result type.

По этому определению число E1 сдвигается влево на E2 битов, нижние биты заполняются нулями, и результат равен E1 × 2^E2. Из этого можно заключить, что сдвиг на одну позицию умножает число на 2, то есть, в представлении данных используется двоичная система счисления.
Си-компилятор можно написать почти что для чего угодно. Вплоть до систем с троичной логикой.

А это как, если в C явно определены бит и байт? Игнорировать третье состояние трита и эмулировать двоичное представление данных?
Ага, а потом обновлять все эти десять библиотек на новую версию с исправленным багом или уязвимостью. А ещё в памяти 10 копий висит.
Да нет, если конечные значения кубитов получаются ровно 1 или 0, а не что-то посередине, то именно эти значения и будут измерены. А для реализации классической логики как раз и достаточно задавать и оперировать классическими битами.
Квантовая логика никогда не заменит классическую бинарную.

Квантовый компьютер может выполнять все те же операции, что и обычный. Например, с помощью элемента Тоффоли. Поэтому на квантовом компьютере можно запускать любые классические программы, лишь бы хватило кубитов (памяти).
А что можно делать на 80-ядерном десктопном процессоре?

* Большинство десктопных программ/игр забивают болт на многопроцессорность.
* Те, кто не забивает, обычно умеют эффективно использовать всего несколько процессоров.

К тому же:

* Сколько энергии потреблял бы 80-ядерный процессор даже в простое?
* Как уместить 80 ядер общего назначения там, где сейчас умещаются всего 4-8?
* Какая должна быть пропускная способность памяти и размер кешей, чтобы позволить всем ядрам эффективно работать?
Переменная 'i' может оказаться неинициализированной, если (o == false). В результате, к 'j' будет прибавлено непонятно что. Это не страшно, так как, если (o == false), то срабатывает обработчик ошибки, и функция прекращает свою работу.

IMO, это всё-таки достаточно серьёзно, поскольку использование неинициализированной переменной вызывает неопределённое поведение, и в результате может произойти что угодно.

Например, компилятор может думать так:
  1. В строчке j += i; неопределённое поведение, если o == false перед вызовом EVP_DecryptUpdate.
  2. Правильная программа никогда не вызовет неопределённое поведение в этой строчке.
  3. То есть, o никогда не будет false перед вызовом EVP_DecryptUpdate.
  4. Поэтому выбрасываем из кода первый if (o).
Вот что они думают: mozilla.github.io/shumway/
Да, зато в первый раз вполне возможен MITM. Можно предположить ситуацию, когда по некоему приказу интернет-провайдер или компания подменяет все ключи, которые проходят через её сеть. Все, кто просто нажмут «yes», окажутся скомпрометированы.
Отличают же для ssh.

Ага, интересно, сколько же из всех пользующихся ssh людей действительно читают стандартное сообщение

The authenticity of host 'x.x.x.x' can't be established.
RSA key fingerprint is y:y:y:y.
Are you sure you want to continue connecting (yes/no)?

а не вводят на автомате «yes».
Отсюда пошли такие вещи, как поэзия, искусство. Тьюрингова машина на такое не способна.

Ещё как способна. Например, для машины Тьюринга можно написать программу, которая симулирует процессы мозга на клеточном или молекулярном уровне. Да и почему для обработки таких данных обязательно требуется именно нейронная сеть, а не какая-то другая структура?
Я думаю, что всё правильно: опытный пользователь понимает, что главное — не графика, и настроит игру соответственно. А вот для привлечения новых игроков, у большинства из которых современные компьютеры, можно и добавить эффектов по умолчанию.

Конечно, если игра с настройками по умолчанию тормозит и на современных компьютерах, то это очевидная недоработка. Про Warsow 1.0, в частности, известно, что у многих тормозит меню (но не игра). В версии 1.03 стало лучше.
По моему опыту Warsow выдаёт стабильные 125 fps даже на компьютере времён четвёртых пентиумов. Может, просто надо в Graphics profile выбрать «low» и выкрутить всю графику на минимум?
платить линуксоиды за про аккаунт явно не любят и делают это меньше

Это почему? Откуда статистика?

Information

Rating
Does not participate
Location
Рига, Латвия, Латвия
Registered
Activity