解決済みの質問
C言語で符号付128ビット変数を4つの32ビット変数(signed longまたはunsigned long)で表現したいと思っています。
この場合32ビット変数の符合付き/符合なしはどのように組み合わせるのが適切なのでしょうか。
一応3通りの方法を考えてはみました。
(1)が適切な気もするのですが違う気もします。
アドバイスをお願いします。
(1) 最上位32ビット変数をsigned longにして残りの3つの32ビット変数はunsigned longにする。
(2) 4つの32ビット変数を全てsigned longにする。
(3) 4つの32ビット変数を全てunsigned longにする。
投稿日時 - 2002-10-30 13:04:13
こんにちわ。
どの方法でも良いのではないでしょうか?
128bit の値を格納する領域があれば、格納するデータ型がsigned long
であろうと、unsigned long であろうが、問題はありません。
気を付ける事は、128bit 変数のBoundary 調整の問題です。
→ 128bit の変数が、何バイト単位に整列されるかと言う事です。
これは、OS によって異なりますが、通常はlong 型の配列を使用すれば
問題はありません。
安全性を考えるなら、malloc で動的に領域を獲得して下さい。
→ malloc すると、自動的にBoundary 調整された領域が獲得されます。
投稿日時 - 2002-10-30 16:38:05
お礼
Boundary調整の問題はないようです。
回答をありがとうございました。
返答が遅くなり、申し訳ありませんでした。
投稿日時 - 2003-05-05 17:02:13
2人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(1件中 1~1件目)
OKWaveのオススメ
おすすめリンク