
No.1ベストアンサー
- 回答日時:
C++で書くと、これで解読できると思います。
#include <iostream>
#include <vector>
#include <bitset>
// Parity check equations
bool check_parity(const std::bitset<7>& bits) {
bool p1 = bits ^ bits[3] ^ bits[4] ^ bits[2] ^ bits;
bool p2 = bits ^ bits[1] ^ bits[4] ^ bits[5] ^ bits;
bool p3 = bits[3] ^ bits[1] ^ bits[4];
return (p1 == bits[1]) && (p2 == bits[3]) && (p3 == bits);
}
// Correct error in a 7-bit code
void correct_error(std::bitset<7>& bits) {
int error_bit = 0;
error_bit += bits[1] ? 1 : 0;
error_bit += bits[3] ? 2 : 0;
error_bit += bits ? 4 : 0;
if (error_bit > 0) {
bits.flip(error_bit - 1);
}
}
int main() {
std::vector<std::bitset<7>> codes = {
std::bitset<7>("0101101"),
std::bitset<7>("1110100"),
std::bitset<7>("1001010"),
std::bitset<7>("0101101"),
std::bitset<7>("0000101"),
std::bitset<7>("0101010"),
std::bitset<7>("0000000"),
std::bitset<7>("1010000")
};
std::string message = "";
for (const auto& code : codes) {
if (!check_parity(code)) {
correct_error(code);
}
message += static_cast<char>(code.to_ulong());
}
std::cout << "Decoded message: " << message << std::endl;
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 数学I 因数分解について 因数分解の答えが (c-b)(a-b)(a-c)となりましたが、解答では輪 7 2023/04/06 14:38
- 物理学 物理の問題で速さを求めよという問題があります この問題で速さを求めるとマイナスの符号がついて答えが出 3 2022/08/29 20:49
- その他(ホビー) 3アマ試験 2 2023/05/17 05:09
- 物理学 電磁気学での質問です。 電荷のない空間ではポテンシャルの極大点, 極小点が存在しないことを証明せよ. 3 2023/05/12 22:39
- 数学 ハフマン符号化にかんしての問題です。 出現確率が次の通りであるような記号AからFがある。 このとき、 1 2023/01/26 12:16
- 計算機科学 6ビット(符号含む)の二進数 4 2023/04/16 13:22
- 計算機科学 ビット計算 2 2023/04/16 14:26
- オーケストラ・合唱 カリブ夢の旅のピアノの音符を降っていただけませんか…? 1 2023/08/11 09:37
- 高校 2進数のオーバフローについて 6 2022/05/12 21:25
- 情報処理技術者・Microsoft認定資格 情報技術の問題についてです。 10進数の−36を以下のような16ビットの浮動小数点表示にするといくつ 3 2022/05/21 19:53
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VxWorks 6.4ソケット接続につい...
-
#defineの使い方について
-
std::map の const 修飾について
-
VC++で文字列から任意の文字を...
-
C++での <iostream.h>と<iostre...
-
enumの値から定義名を文字列化...
-
プログラミング
-
snprintfが使用できない。
-
switch文のエラーについて
-
途中からMFCを使用したい
-
構造体に決められた文字列を入...
-
平均値を関数を用いて出力した...
-
リモートデスクトップの接続元I...
-
Cでのパケットキャプチャについて
-
#include "fstream.h"
-
uniqueの使い方について
-
winpcapを用いたプログラミング
-
makefileでコンパイルしたい
-
JPEGやPNGが読めるLoadImage関数
-
gccでコンパイル時のエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
なぜ、C++の標準ヘッダをインク...
-
switch文のエラーについて
-
VC++で文字列から任意の文字を...
-
構文エラーが出ているのですが...
-
gccでコンパイル時のエラー
-
空ENTERの判別
-
vectorのイテレータを大小比較...
-
JPEGやPNGが読めるLoadImage関数
-
C++で、テキストファイルを一行...
-
std::wstringのメモリリークに...
-
enumの値から定義名を文字列化...
-
CStringとString
-
#define中の#のエスケープ
-
std::map の const 修飾について
-
#include "fstream.h"
-
_tcscat がうまくいきません(V...
-
C言語のポインターで詰まっている
-
構造体配列のvectorへの変換と...
-
C++での <iostream.h>と<iostre...
-
ヘッダーファイルがインクルー...
おすすめ情報