intとintを比較しているとします。 173ページに書かれている第2版「The C Programming Language」によれば、short intはintに変換されます。これは私のシステム上の短い整数の代わりに4バイトです。C - 算術変換はどのようにメモリレベルで行われますか?
私の質問は:これはどのようにメモリレベルで行われますか?短い整数が2バイト追加されるか、まったく異なるメモリ位置にデータがコピーされますか?
doubleとintをshortとintの比較から編集しました。不便をお詫びします。
フロートは整数よりも完全に異なって符号化されています
あなたは、このような一連の何かを取得します。たとえ整数型と同じサイズの浮動小数点型の間で変換を行っていたとしても、浮動小数点は異なるビットで構成されます。それは単純なビット操作ではありません。 – Kevin
表現の面ではなく、価値観の面で考えるべきです。 'int'の値が' double'型の許容範囲に合っていれば、すべてが問題ありません。それがなければ、あなたは困っています。 –
実装定義です。いくつかのマシンは、load-load-compare-compare、load-convert-compare、load-convert-save-compare、いくつかのload-load-compareを実行します.... load double> double> double double compair FPUは主にロードストアおよびレジスタレジスタアドレッシングであるため、現在最も一般的に使用されている可能性があります。 – user3528438