Renesas HEWで、平均値を求める下記の様なプログラムを書いています。
unsigned short data[100] ;
unsigned int total ;
unsigend short avg_short ;
unsigend int avg_int ;
for (i=0; i<100 ; i++) {total += data[100];}
avg_short = (short) (total / 100) ;
avg_int = total / 100 ;
とした場合、avg_intには、平均値が32bit(上位16bit=0)で格納されますが、
avg_shortは、0 が格納されます。
avg_intの下位16bitだけを格納するには、どうしたらよいのでしょうか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
スペルミスその他いろいろ。
unsigned short data[100] ;
unsigned int total ;
unsigned short avg_short ;
unsigned int avg_int ;
int i;
data[0]~data[99]に何か入れる処理;
total=0;
for (i=0; i<100 ; i++) {total += data[i];}
avg_short = avg_int = total / 100;
printf("%X\n%X\n", avg_short, avg_int);
No.2
- 回答日時:
val_hi = (total/0x10000); /* total の上位 16bit */
val_lo = (total&0xFFFF); /* total の下位 16bit */
No.1
- 回答日時:
5行目のdata[100]はdata[i]の間違いかと思います。
6行目のキャストは(unsigned short)の方がよいかもしれません(結果は変わらないかもしれませんが)。
avg_shortとavg_intには同じ値が格納されるはずのように思いますけど。実際に手計算の結果と比較されましたか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
if と配列の組み合わせ
-
複数桁10進数の*桁目だけを抽出...
-
シグマ公式・・・C言語
-
「指定されたキャストは有効で...
-
c言語の配列を使ってサイコロを...
-
Win32APIで作るコンボボックス...
-
std::set<int> で、ある値が何...
-
#define _CRT_SECURE_NO_WARNIN...
-
単語の出現回数を数え、出現回...
-
実数の整数部,小数部の取得
-
C言語 エラーの原因がわからな...
-
HANDLEて何ですか?
-
C2601 ローカル関数の定義について
-
double型の値を、一桁ずつint型...
-
構造体の勉強中です 合計点の高...
-
関数について
-
C言語初心者です、、、お助けく...
-
ポインタ配列
-
比較回数と交換回数表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
AtCoderABC135の問題Cについて
-
C言語 エラーの原因がわからな...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
ラップ関数とはどんなものですか?
-
if と配列の組み合わせ
-
return 1L
-
read関数をノンブロッキングで...
-
(int *)の意味
-
std::set<int> で、ある値が何...
-
Win32APIで作るコンボボックス...
-
C++でvectorにテキストファイル...
-
「{ } で囲むだけ」は正しい?
-
足して100になるような乱数のア...
-
Arduinoのプログラムにエラーが...
-
課題でつまってます・・・
おすすめ情報