掲示板ランキング  文化人類学・民俗学(文化人類学一般)


掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.6782

プログラムの意味について
投稿者---tadano(2006/11/23 14:40:49)


下記のプログラムの意味について質問したいのですが、
自作の関数で、整数xの’1’であるビット数を求めるというものです。
一例らしいのですが、while文の意味がわかりません。(x)というのと、
(x & 1U)とx >>=です。3つとも今まで見たことがない書き方です。ご説明いただけないでしょうか?

int count_bits(unsigned x)
{
int bits = 0;
while (x) {
if (x & 1U) bits++;
x >>= 1;
}
return bits;
}f


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:プログラムの意味について 6783 επιστημη 2006/11/23 15:47:23


No.6783

Re:プログラムの意味について
投稿者---επιστημη(2006/11/23 15:47:23)


while (x)
→ x が真 すなわち"0でない"間繰り返せ

if (x & 1U)
→ (x と 1 とのbit毎のAND) が真(0でない)なら
→ x の最下位bit(第0bit)が1なら

x >>= 1;
→ x を 1bit 右シフト



この投稿にコメントする

削除パスワード

No.6784

Re:プログラムの意味について
投稿者---tadano(2006/11/23 19:44:21)


>if (x & 1U)
>→ (x と 1 とのbit毎のAND) が真(0でない)なら
>→ x の最下位bit(第0bit)が1なら

ありがとうございます。2つについては理解できました!
しかし、上のものだけ、まだわかりません。
Uは何を意味するのでしょうか?




この投稿にコメントする

削除パスワード

No.6785

Re:プログラムの意味について
投稿者---・(2006/11/23 19:51:16)


>Uは何を意味するのでしょうか?

符号なし定数のこと。


この投稿にコメントする

削除パスワード

No.6791

Re:プログラムの意味について
投稿者---tadano(2006/11/23 23:05:22)


>>Uは何を意味するのでしょうか?
>
>符号なし定数のこと。


ありがとうございました。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧





掲示板提供:(有)リアル・インテグリティ