128ビット変数の符合表現について

解決済みの質問

128ビット変数の符合表現について

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

連想キーワード:

QNo.393049

困ってます

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

こんにちわ。

どの方法でも良いのではないでしょうか?
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

ANo.2

2人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.1

それぞれで実装してみて、いちばんしっくりいくやつを採用すればいいんじゃないでしょか。ヒトに訊くまでもなく。

投稿日時 - 2002-10-30 13:50:57

お礼

Cで記述する符合なしと符合つきが、CPUの処理に、どのように影響するのかを理解していなかったため、このような疑問が生じてしまいました。

私の目的とする処理を考える限りにおいては、どの方法を採用しても、問題はないようでした。

回答をありがとうございました。
返答が遅くなり、申し訳ありませんでした。

投稿日時 - 2003-05-05 17:08:06

あわせてチェックしたい
  • verilog 符号付加減算(最上位符号拡張)について教えてください ...
  • verilog 符号付加減算(最上位符号拡張)について教えてください ...
  • +と-などの「符号」を英語で表現したい場合は、”code”と”sign ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら