адвокат по языку — требует ли стандарт C ++ бинарную машину?

Я нахожу в стандарте:

Представления целочисленных типов должны определять значения с использованием чисто двоичной системы счисления

Но я понимаю, что это не требование, что C ++ должен быть реализован на машинах, которые основаны на базе 2 в аппаратных средствах; другими словами, это, кажется, только требование к тому, что должен увидеть программист.

Требует ли стандарт C ++ бинарного процессора или может быть реализована правильная реализация C ++ на троичных или десятичных машинах?


Крошечная справочная информация: в истории уже были компьютеры с десятичными, троичными или компьютерами, где байт C ++ имел бы длину 36 бит (PDP-10)

6

Решение

Хотя это прямо не указано в стандарте, существует правило «как будто», которое применяется практически ко всем требованиям стандарта C ++ (и C).

Другими словами, вам разрешается нарушать любое правило, которое вы хотите, при условии, что вы производите те же внешние наблюдаемые эффекты, как если бы вы следовали правилу, как указано. Хотя это и не указано в самих стандартах, это правило является прямо указано в обоснование для стандарта C. Насколько я знаю, для стандарта C ++ нет подходящего обоснования, но оба они достаточно тесно связаны, и я вижу небольшую проблему в применении правила к обоим.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]