Предположим, у вас имеется функция, которая передает 32-битное значение другой функции, принимающей 64-битные значения. Вам совершенно неважно то, что попадет в 32 старших бита, так как это значение функция, принимающая его, напрямую не обрабатывает. Его просто передают функции обратного вызова, которая обрезает его, преобразуя в 32-битное значение. При этом, по некоей причине, вас беспокоит влияние на производительность той единственной инструкции, которую компилятор обычно генерирует для расширения 32-битных значений до 64-битных.
Первое, что вы можете подумать: «Да зачем об этом беспокоиться, если пока ничего особенного не произошло». Одна единственная инструкция не превратится в узкое место некоей программы. Но, несмотря на это, просто из интереса можно попробовать решить эту хитрую задачу.
Глупые фокусы: преобразование 32-битного значения в 64-битное, когда неважен мусор в старших битах
>>Click here to continue<<
