-
- Там просто описано знаковое число в дополнительном коде, как щетать на пальцах. Для индусских погромизтоф видать. - =AlexD=(22.06.2023 15:27)
- Правильное ощущение. - SciFi(22.06.2023 15:26)
- только я сделаю так: (((int)((int8_t)RSSI_dec)) – 2*RSSI_offset)/2
иначе возникает дырка при RSSI_dec=-1 - IBAH(22.06.2023 15:49)
- Кстати, насчёт дырки: да, есть своеобразная особенность у сишного
деления со знаком. Правила округления результата. Или можно просто
сдвинуть вправо на 1 разряд с сохранением знака, тогда не будет
неравномерности около 0. - SciFi(22.06.2023 17:01)
- Кто из нас гонит? ((-1)>>1)==(-1), разве ((-1)/2)==(-1) ? - IBAH(22.06.2023 17:50)
- Всё правильно, деление чисел со знаком на числа, кратные степени 2, не эквивалентно сдвигу вправо. Это справедливо для чисел в дополнительном коде. Для чисел в обратном коде замена деления на сдвиг всегда будет корректной. - Bill(23.06.2023 12:39)
- Вот: SciFi(1 знак., 22.06.2023 19:00, картинка)
- я лошара... это 8битная родовая травма - IBAH(23.06.2023 13:14)
- Кто из нас гонит? ((-1)>>1)==(-1), разве ((-1)/2)==(-1) ? - IBAH(22.06.2023 17:50)
- (int8_t)RSSI_dec само неявно приведётся к int перед вычитанием. Учите матчасть, короче. Ну и загрублять зачем? Пусть будут половинки децибела. Мешают штоле? - SciFi(22.06.2023 16:11)
- Кстати, насчёт дырки: да, есть своеобразная особенность у сишного
деления со знаком. Правила округления результата. Или можно просто
сдвинуть вправо на 1 разряд с сохранением знака, тогда не будет
неравномерности около 0. - SciFi(22.06.2023 17:01)
- только я сделаю так: (((int)((int8_t)RSSI_dec)) – 2*RSSI_offset)/2
иначе возникает дырка при RSSI_dec=-1 - IBAH(22.06.2023 15:49)