Похоже, двойная отправка - это путь сюда. Это в основном шаблон посетителя с одним видом вызова посетителя. Посмотрите эти ссылки, если вам интересно:
Я думаю, что это не так вопрос того, какое представление использование компилятора, а скорее что использует представление базовая машина. Компилятор был бы очень глуп выбрать представление, не поддерживаемое целевой машиной, так как это представит загрузки издержек ни для какого преимущества.
Некоторые поля контрольной суммы в комплекте протоколов IP используют поразрядное дополнение до единицы, поэтому возможно, выделенный "сетевой акселератор" - вводит реализацию CPU:s это.
В то время как дополнительное парами представление безусловно наиболее распространено, это не единственное (см. некоторых). C и комитеты по стандартизации C++ не хотели требовать, чтобы non-twos-complement машины эмулировали несобственное представление. Поэтому ни один C не C++ не требует определенного отрицательного целочисленного формата.
Это приводит к неопределенному поведению битовых операций на типах со знаком.