C言語を用いて、
x→ 0 or 1
y→ 0 or 1
P(y=0|x=1) = P(y=1|x=0) = p
P(y=0|x=0) = P(y=1|x=1) = 1-p
を各ビット独立に達成する、プログラムを組みたいと思っています。
具体的にはNビットの 0 or 1 の系列を発生させて、
上記の確率で各ビットを独立に反転させたNビットの 0 or 1 の系列を得たいと思っています。
ですが、どう組めばよいか分かりません・・・
どなたかアドバイス、参考となるサイトを教えていただけないでしょうか・・・
No.2ベストアンサー
- 回答日時:
懐かしい響き
const double p = 0.01; // 誤り率
const int N = 10000; // ビット列の長さ
int x[N]; // 送信ビット列
int y[N]; // 受信ビット列
int rand_bin(); // 1 ビットの乱数を返す関数
double rand_real(); // [0,1] の一様乱数を返す関数
int main()
{
int i;
// 送信ビット列の生成
for (i=0 ; i<N ; i++) {
x[i] = rand_bin();
}
// 受信ビット列の計算
for (i=0 ; i<N ; i++) {
if (rand_real() < p) {// 一定の確率で
y[i] = !x[i];// 誤り発生!
} else {
y[i] = x[i];
}
}
// 後は、お好みで。
return 0;
}
*注意*
インデントのために、全角スペースを使っています。
rand_bin と rand_real は別途定義してください。
ご回答ありがとうございます!
ソースものせていただき、たすかりました!
「 if (rand_real() < p) { 」
この発想を思いつかなかったなかったです;;
ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- その他(コンピューター・テクノロジー) ハードドライブのデータ記憶方法 USBメモリーなどの半導体記憶デバイスは、ビット毎の 0 or 1 1 2023/02/25 12:41
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 物理学 あのこれは、間違いと 3 2022/11/13 12:22
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- 工学 疑似乱数生成器 3 2023/01/05 02:06
- Web・クリエイティブ 1.現在webデザイン系のサイト開発・運営してるのですが、サイト内ジャンルに「人間関係」を入れるor 1 2022/11/12 11:11
- その他(プログラミング・Web制作) Pythonでの不均一なサイコロをつくるプログラミングがわかりません 4 2022/06/07 13:10
- その他(ブログ) アフィリエイトのジャンル選びで悩んでます。私が考えた下記から選ぶなら皆さんならどれが良いと思いますか 2 2023/08/09 16:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
情報科学の飽和演算、ラップア...
-
ビットシフトってどんな時使うの?
-
C言語で128bitの2進数のビット...
-
命令について
-
符号無し整数xを右にnビット回転
-
8ビットのデータの、先頭ビット...
-
算術シフト演算が成り立つ理由...
-
2の補数
-
C言語で行列の演算するには?
-
ビットの取り出し方法
-
算術右シフトの結果が1/2になる...
-
fortran
-
通常の表記から逆ポーランド表...
-
CASLIIでかけ算
-
C++の言語で{}の中身が int x=2...
-
if($a & $b) の意味
-
BigDecimal小数計算について
-
文字参照は10進数と16進数では...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
ビットシフトってどんな時使うの?
-
verilog 符号付加減算(最上位...
-
一般のソフトで画像を扱う場合...
-
符号無し整数xを右にnビット回転
-
文字参照は10進数と16進数では...
-
シーケンス制御についての質問...
-
BMP画像のネガを作成するプログ...
-
アクセス(2003)のVBAでビット...
-
03分22秒36のような時間の単位...
-
命令について
-
10進数(+-)→2進数への変換(2)
-
C言語で128bitの2進数のビット...
-
1の補数
-
ビット列を表示するプログラム
-
ビットの取り出し方法
-
Python: 数値を反転させたい
-
PS3に搭載されている"Cell"は、...
おすすめ情報