знаковый или беззнаковый?
Feb. 22nd, 2018 12:50 pm(эта запись может быть интересна программистам, знающим C/C++)
Во внутреннем форуме на работе кто-то устроил опрос, который просто не могу не украсть:
[Poll #2078582]
Не смотрите в комментарии перед голосованием, там можно обсуждать правильный ответ.
Во внутреннем форуме на работе кто-то устроил опрос, который просто не могу не украсть:
[Poll #2078582]
Не смотрите в комментарии перед голосованием, там можно обсуждать правильный ответ.
Подходов несколько.
Date: 2018-02-26 11:54 am (UTC)Ваш подход "один из" (кроме наивных "забить" и "писать 100% контролируя conversion").
Мне боле-менее известны и опробованы следующие:
1. Ваш -- его минус многословность (паразитный синтаксис), за которым начинает теряться семантика.
2. Определить "домены" для работы с типами и работать в этих доменах, переопределив операции. На бумаге хорошо, на практике -- реализация спрятана слишком глубоко. Быстро дописать код зачастую проблематично.
3. Математику проводить в машинных словах (или самом "широком" из возможных доменов) -- пересылка "структуры памяти <=> переменные" содержит оверхэд по коду.
Мне нравится 4й подход.Мне нравится 3й. О боже мне нужно больше кофе!.
ПС
Ну и в -DUBUG вставлять контроль отсутствия переполнения тоже помогает.
Re: Подходов несколько.
Date: 2018-02-26 12:23 pm (UTC)Но (имхо) это лучше, чем надеяться на собственное понимание стандартов, а всего не упомнишь.
Re: Подходов несколько.
Date: 2018-02-26 12:27 pm (UTC)Оверхэд по коду сравнимый. Но в 3м подходе мы выносим эту чисто техническую семантику отдельно, а в 1м вынуждены писать её прямо в арифметических выражениях.
На мой взгляд у 1го подхода хуже читаемость.
Re: Подходов несколько.
Date: 2018-02-26 12:55 pm (UTC)