6

私は標準で見つけます:

整数型の表現は、純粋な 2 進数システムを使用して値を定義する必要があります。

しかし、私の理解では、ハードウェアの基数 2 に基づくマシンに C++ を実装する必要があるという要件ではありません。言い換えれば、これはプログラマーが見るものに対する要件にすぎないようです。

C++ 標準ではバイナリ CPU が必要ですか、それとも有効な C++ 実装を 3 進マシンまたは 10 進マシンに実装できますか?


小さな背景情報: 歴史上、10 進数、3 進数、または C++ バイトが 36 ビット長になるコンピューター (PDP-10) を備えたコンピューターが既にありました。

4

1 に答える 1

6

標準で直接述べられることはありませんが、C++ (および C) 標準の基本的にすべての要件に適用される "as if" ルールがあります。

言い換えれば、述べられているようにルールに従っているかのように、外部から観察可能な同じ効果を生み出す限り、好きなルールを破ることができます. 標準自体には記載されていませんが、この規則C 標準の根拠に明示的に記載されています。私の知る限り、C++ 標準に一致する根拠はありませんが、この 2 つは十分に密接に関連しているため、このルールを両方に適用しても問題はほとんどないと思います。

于 2012-10-10T15:36:14.343 に答える