数値を配列にコピーするには?

解決


初心者  2007-03-27 18:16:35  No: 64803

初歩的な質問ですみません。
int a = 100;
という値をint Data[2];というint型の配列
に格納したいと思っております。
ポインタ等を利用するのかなと思うのですが、
どのようにコーディングすればいいのか教えてください。
よろしくお願いします。


ぼぉ  2007-03-27 18:19:15  No: 64804

int a = 100;
int Data[2];

Data[0] = a;
Data[1] = a;

そのままじゃダメですか?
100をどうにか処理してから格納したいのですか?


初心者  2007-03-27 18:33:37  No: 64805

ぼぉさんご回答ありがとうございます。
ですが、上記の方法ですと、
Data[0]⇒100 (※HEXだと0x00000064)
Data[1]⇒100 (※HEXだと0x00000064)
となってしまいます。

int a = 100ならば、配列の小さい桁から詰めていくもので
Data[0]⇒0x00000000
Data[1]⇒0x00000064
としたいです。

int型が8bitなものですから、最大0xFFFFFFFFFFFFFFFF(Fが16個、
10進数ではとてつもない数になりますが…)
の数値まで対応できるようにしたいと思っております。

以上、よろしくお願いします。


YuO  2007-03-27 18:55:25  No: 64806

int型は最低16bitあるはず,現行VC++なら32bit,という話は置いておくとして……。

Dataは配列まとめて整数として扱いたいわけですね。
Dataはintの配列,aはintなのですから,
Data[0] = 0;
Data[1] = a;
でよいと思います。

ちなみに,単に64bitの値を扱いたいなら,VC++ 2003以降であればlong longが使えます。
それ以前でも__int64型を使うことができます。


PATIO  2007-03-27 21:05:52  No: 64807

まず、開発環境をきちんと提示しましょう。
環境依存の部分が回答に絡む場合に一々確認しなくてはいけなくなるので
効率が悪いです。基本的に質問するときは利用するOSの種類とかバージョン、
開発環境のバージョンがはっきりわかるように提示してください。

で、私もYuOさんに賛成。
環境がはっきり書いていないので特殊環境だったりするかもですが、
自分で作るとなると相当苦労すると思いますよ。特に動作確認で。
きちんと動くものを作ろうと思ったらありとあらゆるパターンでテストする
必要が出てきます。勉強のためにつくろうと言うのでないなら、
素直にある物を使った方が良いです。
勉強の為と言うのであれば、アルゴリズムも含めてしっかり考えてみては?
自分できちんと理解できない方法で作っても多分メンテできないでしょうし。


初心者  2007-03-27 22:22:48  No: 64808

皆さんからのご意見を真摯に受け止めたいと思います。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加