
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にする。
No.2ベストアンサー
- 回答日時:
こんにちわ。
どの方法でも良いのではないでしょうか?
128bit の値を格納する領域があれば、格納するデータ型がsigned long
であろうと、unsigned long であろうが、問題はありません。
気を付ける事は、128bit 変数のBoundary 調整の問題です。
→ 128bit の変数が、何バイト単位に整列されるかと言う事です。
これは、OS によって異なりますが、通常はlong 型の配列を使用すれば
問題はありません。
安全性を考えるなら、malloc で動的に領域を獲得して下さい。
→ malloc すると、自動的にBoundary 調整された領域が獲得されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の添え字の最大数とは?
-
DLLで同じメモリ領域を参照する...
-
free関数で動作が止まる
-
mallocについて
-
VB.netでのwin32api呼び出し
-
allocってなんですか?
-
【VC++6.0(MFC)】メモリの静的...
-
LoadLibraryでAccess Violation...
-
入れ子になった構造体について
-
関数から配列を返すには?
-
C言語 配列の長さの上限
-
c言語
-
C++DLLからC#へのコールバック...
-
データ数が多い場合のソート
-
CStringからchar*への型変換に...
-
c言語 構造体
-
n番目に大きい数を求めるアル...
-
リスト構造のソートで悩んでま...
-
C#で構造体の配列を持った構造...
-
C言語 ファイルの指定された行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語のポインタへの文字列入力...
-
allocってなんですか?
-
ビットをローテートするプログ...
-
ヒープメモリの解放について
-
newしないオブジェクトについて
-
構造体でchar name[]と*nameの...
-
ポインタのポインタの初期化法
-
行列内の行の交換,列の交換を...
-
C++で、メンバもヒープに確保さ...
-
DLLのマルチスレッドの動作につ...
-
配列の添え字の最大数とは?
-
mallocで確保するメモリの領域...
-
C++のnewで確保したメモリーの...
-
C言語に関する質問
-
Win32APIでのメモリ管理について
-
変数に文字列を代入する方法を...
-
領域の確保について
-
free関数で動作が止まる
-
CreateFileMapping について
-
指定したメモリアドレスの値の...
おすすめ情報