Re[12]: Откуда эта лютая любовь к знаковым целым?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 08.05.20 15:21
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

N>>Именно в struct tm можно было бы хранить и без знака, но зачем, если там значения гарантированно меньше соответствующего максимума даже в исходной 16-битке?


ЕМ>Да просто затем, что эти значения по своей сути не имеют знака.


И ещё раз намекну на диапазоны значений.
Пусть есть два типа, оба из которых могут использоваться для машинного представления, а целевой диапазон приложения — от 1 до 31 (mday_t).
У первого типа диапазон значений -32768..32767, у второго 0..65535.
Почему для тебя беззнаковость номера дня важнее остальных факторов?

N>>Но, как только начинается вопрос про то, что даты надо вычитать, уже приходится переводить к знаку (об этом тебе уже написали рядом). Ну и зачем эти лишние конверсии?

ЕМ>А если даты нужно делить, чтобы, например, вычислить среднее количество дней, которое занимали некие процессы? Давайте уж сразу хранить их в double, сэкономим на конверсиях.

И это вполне возможно. Юлианский день, в плавучке — достаточно точный метод задания времени. Но тут начинаются проблемы округления, это уже неудобно. Вот unixtime в микросекундах со знаком — достаточно дёшево и защищено от подобных проблем.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.