ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
79045
Николай Коровин (28.01.2007 12:36, просмотров: 2120)
Ихбтшный баян ======================================================= 72. min, 25.10.2004 10:28 Данный странный алгоритм убирает мусор из числа. Известно заранее, что числа "правильные" в некотором смысле. Например - шаг шкалы оцифровки графика. // Жила была переменная float float Step=0.1; // или 1./3. или 2./3. или что нибудь похожее // Её копируют в double, в результате в младших разрядах мусор 0.100000001490116 , 0.333333343267441 ... double StepD=Step; //Но мусор нам не нужен и его убираем unsigned char *p=(unsigned char *)&StepD; if(p[4]==p[5]) p[0]=p[1]=p[2]=p[3]=p[4]; // В результате получаем 0.1, 0.333333333333333 ... Алгоритм используется в реальном проекте. Выглядит странно, но очень эфективен. ======================================================