• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語で32Bit*32Bitの演算は出来ますか?)

C言語で32Bit*32Bitの演算は可能か?

このQ&Aのポイント
  • C言語で64Bit演算を行っていたが、C言語だけで32Bit*32Bitの演算を行う方法を知りたい。
  • 組み込みマイコンの開発で、アルテラ社のNios2を使用しているが、Nios2のマニュアルが英語であるため、同じようなことができるか調査中。
  • アドバイスがあればお願いしたい。

質問者が選んだベストアンサー

  • ベストアンサー
  • terra5
  • ベストアンサー率34% (574/1662)
回答No.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の演算結果が得られます。

参考URL:
http://www.altera.co.jp/products/software/products/nios2/emb-nios2_ide.html
proto3249
質問者

お礼

マニュアルを確認すると、 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

関連するQ&A