Разрешение переполнения целых чисел со знаком в C / C ++

Я хочу, чтобы целые числа со знаком переполнялись, когда они становятся слишком большими. Как мне добиться этого, не используя следующий по величине тип данных (или когда я уже нахожусь в int128_t)?

Например, при использовании 8-битных целых чисел 19 * 12 обычно равно 260, но мне нужен результат 1 11 10 01 00 с обрезанным 9-м битом, таким образом -27.

7
задан Henry B. 21 November 2010 в 22:24
поделиться