掲示板ランキング  文化人類学・民俗学(民間信仰・俗信)  文化人類学・民俗学(昔話・伝承)


掲示板利用宣言

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

 私は

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

掲示板1

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

No.6800

a&bの意味
投稿者---tadano(2006/11/27 00:52:39)


// 符号なし整数の論理積・論理和・論理差(排他的論理和)・1の補数を表示

#include <iostream>
using namespace std;

//--- 整数x中の“1”であるビット数を求める ---//
int count_bits(unsigned x)
{
int bits = 0;
while (x) {
if (x & 1U) bits++;
x >>= 1;
}
return bits;
}

//--- unsigned型のビット数を求める ---//
int int_bits()
{
return count_bits(~0U);
}

//--- unsigned型のビット構成を表示 ---//
void print_bits(unsigned x)
{
for (int i = int_bits() - 1; i >= 0; i--)
cout << ((x >> i) & 1U) ? '1' : '0';
}

int main()
{
unsigned a, b;

cout << "二つの非負の整数を入力せよ。\n";
cout << "a : "; cin >> a;
cout << "b : "; cin >> b;

cout << "a  = "; print_bits(a); cout<< '\n';
cout << "b  = "; print_bits(b); cout<< '\n';
cout << "a & b = "; print_bits(a & b); cout<< '\n'; // 論理積
cout << "a | b = "; print_bits(a | b); cout<< '\n'; // 論理和
cout << "a ^ b = "; print_bits(a ^ b); cout<< '\n'; // 論理差
cout << "~a  = "; print_bits(~a); cout << '\n';
// 1の補数
cout << "~b  = "; print_bits(~b); cout << '\n';
// 1の補数

return 0;
}

このプログラムのprint_bits(a&b)というのは結局、何を渡しているのですか?aが30,bが60とした場合を教えていただけますか?



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:a&bの意味 6801 Blue 2006/11/27 01:02:39
<子記事> Re:a&bの意味 6803 - 2006/11/27 01:09:04


No.6801

Re:a&bの意味
投稿者---Blue(2006/11/27 01:02:39)


とりあえず、
第14章 複雑な演算子を一通り目を通して、具体的に何がよくわからないかを質問してください。

その際は、【掲示板利用宣言】を必ず厳守してください。
>ソースの添付は「HTML変換ツール」で字下げします。
>環境(OSとコンパイラ)や症状は具体的に詳しく書きます。


この投稿にコメントする

削除パスワード

No.6803

Re:a&bの意味
投稿者----(2006/11/27 01:09:04)


出力結果の桁がそろうようにして、
上のaやbの内容と見比べてみるとよいでしょう。
ところで、「論理差」って用語はあるんですか?



この投稿にコメントする

削除パスワード

No.6804

Re:a&bの意味
投稿者---επιστημη(2006/11/27 09:42:44)
http://blogs.wankuma.com/episteme/


>ところで、「論理差」って用語はあるんですか?

集合であれば Aに属しかつBに属さない(A & ~B) を"差(difference)"と表現しますね。

A^B は A&~B | ~A&B なので"対称差(symmetrical difference)"とでも申しましょうか。
ふつー"排他的論理和(exclusive or)"ですけども。



この投稿にコメントする

削除パスワード

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





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