- ベストアンサー
C言語で128bitの2進数のビット演算をしたいのですが、intのように1つの数として定義できますか?
恐縮ですが、授業でかるく習った程度の知識しかありませんので、よろしかったら、その辺のことを勉強するのに適したサイトをお知りでしたら、そちらもお教えいただければと思います。お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> C言語で128bitの2進数のビット演算をしたいのですが、intのように1つの数として定義できますか? 処理系によるとしかいえません。 処理系によっては、int128_t型とか__int128_t型が使える場合がありあすので、ご希望通りのことが可能です。 > その辺のことを勉強するのに適したサイトをお知りでしたら、そちらもお教えいただければと思います。 とりあえず、JISCのサイトでX3010を検索して読んでみてください。
- 参考URL:
- http://www.jisc.go.jp/
その他の回答 (3)
- Oh-Orange
- ベストアンサー率63% (854/1345)
★ダウンロードできます。 ・http://www.mit.msn.to/software/tiny_mp/tiny_mp.html→『tiny_mp - 小さな多倍長演算ライブラリ』 参考にして下さい。
お礼
回答ありがとうございます。多倍長演算について調べているところでしたので助かりました。紹介して頂いたライブラリを理解して使えるように勉強します。
- Tasuke22
- ベストアンサー率33% (1799/5383)
演算速度を問わないのであれば、自分で演算関数を 組む手がありますね。 unsigned char[16]をインターフェイスにしたら如何 でしょうか。 #define int128 unsigned char[16] というのは駄目でしょうか。
お礼
回答ありがとうございます。長い数の場合は配列などでいくつかに分けて格納するのが簡単みたいですね。大量の計算をしないといけないので、手間と計算時間を考えて試してみます。
- SAYKA
- ベストアンサー率34% (944/2776)
http://www.google.co.jp/search?q=c%E8%A8%80%E8%AA%9E%20128bit%E6%95%B4%E6%95%B0%E5%9E%8B&hl=ja&lr=lang_ja 有るような無いような・・・
お礼
回答ありがとございます。勉強不足のためか128bit対応の型があるかはよくわかりませんでしたが、多倍長演算などヒントになりそうなことが書いてありましたので、並行して調べたいと思います。
お礼
回答ありがとうございます。調べてみます。