В любом современном языке программирования во время преобразование целого типа в натуральный происходит преобразование в формат IEEE 754, со всеми вытекающими отсюда обстоятельствами.
int i = 10; <- 4 байта в двоичном формате целого числа
float f = i; <- 4 байта в формате IEEE 754
(
Read more... )
Comments 3
float fValue = lValue; // Инструкция FILD для загрузки lValue (1 такт)
long e = (((*(long*)(&fValue )) & 0x7F800000) >> 23) - 127; // взять адрес, логическое И, сдвиг, вычитание - 4 такта
Итого: 5
То, что по ссылке с хабра, будет работать быстрее только когда срабатывает только первое сравнение. В среднем это действительно будет где-то в три раза медленне. В худшем - мммм... раз так в 12.
Reply
Мне кажется это преобразование можно было бы успешно в разных задачах применять, так сказать потенциал у него есть)
Reply
Reply
Leave a comment