問題タブ [parity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
binary - 奇数パリティ付き ASCII
奇数パリティの ASCII を使用して文字を表すデータ通信システムを考えてみましょう。各 7 ビット ASCII 文字の後には、パリティ ビットが続きます。
送信される次のメッセージの各文字の結果の 8 ビット コード ワードを指定します。
アカデミー!
(感嘆符を含む、このメッセージの文字。)
Table of ASCII Charactersを使用して、ASCII 文字「c」を 0x63 からバイナリに変換しました: 0110 0011
1の数は偶数です。
1) パリティ ビット (プレフィックスまたはサフィックス) をどこに追加しますか?
2) 1 の数を奇数にするためにパリティ ビットを追加すると、9 ビットになります。どうすれば8ビットに保つことができますか?
c - C を使用して、数値のバイナリ表現に 1 があるかどうかをどのように判断しますか?
ある数に s がいくつあるかを数える問題はすでにありますが1
、この問題は 1 が偶数か奇数かを判断する問題です。
ループまたは条件 (switch を含む) ステートメントは使用できません。また、除算、乗算、モジュラス演算子は避ける必要があります。より具体的には、32 ビットの符号なし整数であると想定できます。
実際、私はすでに実装を持っていますが、それが機能する理由を理解できません。その正しさの証拠や新しいアイデアは非常に役に立ちます。
linux - Linux で PARMRK termio の動作が機能しない
アドレス バイトにマーク パリティを使用し、メッセージ本文にスペース パリティを使用するデバイスからメッセージを受信しようとしています。デバイスは、マルチドロップ シリアル バスの「マスター」です。termios のマニュアル ページに基づいて、私は CMSPAR、PARENB、~PARODD、INPCK、~IGNPAR、および PARMRK を使用しています。各アドレス バイトで '\377' '\0' の 3 バイト シーケンスを取得することを期待しています。それは起こりません...私は常にアドレスバイト(および本体バイト)を取得しますが、先頭の '\377' '\0' 文字は取得しません。
CMSPAR がサポートされていない場合に備えて、奇数パリティと偶数パリティのセットアップで PARMRK を動作させようとしました。データ ストリームにはまだ 3 バイト シーケンスはありません。Ubuntu 12.04 LTS を使用しています。
n_tty.c: n_tty_receive_parity_error() には PARMRK を実装するロジックがあります。8250_core.c には、パリティ エラーにフラグを立てるロジックがあります。dmesg | grep ttyS0 は serail8250 を示しています: ... は 16550A です。うーん... 後続のメッセージは 00:0a を示しています: ... は 16550A です。おそらく、8250 ドライバーは実際には ttyS0 を処理していないのでしょうか?
何か案は?私が何を間違えたのか分からなくても、PARMAR が機能するようになった場合でも、あなたの状況についてのコメントが助けになるかもしれません。
更新: 私の Linux は VMware VM で実行されているため、VM 以外の構成を試してみたところ、動作するようになりました! 誰かが知っている場合、VMでパリティエラーが検出されない理由を知りたいです。
ここに私の設定コードがあります:
arm - Cortex-A9 キャッシュ パリティ
pl310 l2 キャッシュ コントローラーを備えた cortex-a9 ベースのデザイン (Altera Cyclon-V) を使用しています。PL310 AUX レジスタで「パリティ有効」を有効にすると、障害が発生します (キャッシュ パリティの問題を示す割り込み)。パリティを無効 (デフォルト値) にしておくと、システムは正常に動作し、エラーや不良データの中止は発生しません。
なぜこれが起こるのでしょうか?
python - パリティありまたはパリティなしの RS232 ワード サイズ
シリアル クラスのバイトサイズ属性は、その接続に使用されるデータ ビット数として定義されます。奇数パリティを有効にすると、定義されたデータ ビットの 1 つがパリティを意味するように変換されますか? それとも、スタート ビットとストップ ビットの間に別のビットを追加するだけですか?
どんな助けでも大歓迎です。ありがとう
c - unsigned int の偶数パリティ
この関数をどこから書き始めればよいかわかりません。値を配列としてループし、それらに xor 演算を適用することを考えています。次のようなものは機能しますか?そうでない場合、これにアプローチする方法は何ですか?