- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語で32Bit*32Bitの演算は出来ますか?)
C言語で32Bit*32Bitの演算は可能か?
このQ&Aのポイント
- C言語で64Bit演算を行っていたが、C言語だけで32Bit*32Bitの演算を行う方法を知りたい。
- 組み込みマイコンの開発で、アルテラ社のNios2を使用しているが、Nios2のマニュアルが英語であるため、同じようなことができるか調査中。
- アドバイスがあればお願いしたい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
日本アルテラ - Nios II 統合開発環境http://www.altera.co.jp/products/software/products/nios2/emb-nios2_ide.html を見ると、コンパイラはGCCを使っているようですから、 64bit整数型として long long intが使える可能性が高いと思われます。 実際使えるかどうかは、マニュアルで確認してください。 使えるなら、longをlong longにキャストしてから計算すれば、64bitの演算結果が得られます。
お礼
マニュアルを確認すると、 long long intはなく、 long long 8Byte 2s complementがありましたので 早速以下のように実験してみました。 long a; long b; long long c; a = 0x7fffffff; b = 0x7fffffff; c = (long long)a * (long long)b; とすると cは3FFFFFFF00000001の62bitの結果が返ってきました。 参考になりましたありがとうございます。m(__)m