アカウント名:
パスワード:
はい?なんのためのチェックデジットなんだろか、、、
必ず検知できるんだったら、単なる冗長化やん
チェックデジットの一般的な実装では、ナンバーの各桁を特定の数式で処理することで入力されたナンバーが間違っていないかどうかを検出できるのだが
実装によって若干の差はあるが、チェックデジットが1桁なら「入力ミスでも1/10に近い確率で通ることはある」
いやまあ、たとえば「各桁の数字を足して下1桁をチェックディジットにする」みたいな原始的な方法なら「1桁の入力ミス」は確実に検知できるけど今度は「12345678」と「12354678」みたいな間違いを検知できない
チェックディジットは単純に「誤入力の確率を減らす」だけで「誤入力を確実に検知できる」ものではないんだよなぁ確実に検知したけりゃ親コメの言うように冗長化するしかない
これ読んでいないよね。
分かりやすくするため、個人番号を11桁の数字abcdefghijkxとしますと、検査用数字xはx = 11 – (6a + 5b + 4c + 3d + 2e + 7f + 6g + 5h + 4i + 3j + 2k) mod 11 ただしx≧10ならx=0です。これなら、まだしもわかりやすいでしょうか。
その分かりやすい説明で何がわかったと思ってるのかわかんないなぁ
まあ確かに、あのコメントで意味が分かるような人は、#3052845 [srad.jp]みたいなボケたことは最初っから書かないでしょうね。、 #3052873 [srad.jp]の式が意味することは、「隣り合う桁に対して、異なる数を乗する」ことで、「隣り合う数値が入れ替わった時にはチェックデジットが変わる」ようになっているってことです。> 今度は「12345678」と「12354678」みたいな間違いを検知できないなんていう浅はかなチェックデジットなんて今時使ってるとこなんてありません。
ちなみに、製品バーコードとして広く使われているJANコードなんかは、「(a+3b+c+3d+e+…+k+3l+m) mod 10 = 0」を満たすよう
本当にそれだけの意味でその数式書いたの?まぁあなたじゃないんだろうけど。
「検知できない場合があるのは問題だ」という(チェックディジットというものを理解していない)元コメに対してチェックディジットはそういうものではない、検知できない場合もあるという説明をしているって話の流れでしょう。
そこで「このチェックディジットなら数字の入れ替わりを検知できるもんね」って指摘する意味が全くわかんないよ。
上げ足とってチェックディジットのこと詳しい俺TUEEEEしたいだけの人に何言っても無駄だよ
# しかもそれで「JANコードは入れ替わりも検出できます」とか言い切っちゃって反例あげられてるから凄い間抜けっぽい
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stableって古いって意味だっけ? -- Debian初級
検知できない場合がある (スコア:0)
はい?なんのためのチェックデジットなんだろか、、、
Re: (スコア:0)
必ず検知できるんだったら、単なる冗長化やん
Re: (スコア:1)
実装によって若干の差はあるが、チェックデジットが1桁なら「入力ミスでも1/10に近い確率で通ることはある」
いやまあ、たとえば「各桁の数字を足して下1桁をチェックディジットにする」みたいな原始的な方法なら「1桁の入力ミス」は確実に検知できるけど
今度は「12345678」と「12354678」みたいな間違いを検知できない
チェックディジットは単純に「誤入力の確率を減らす」だけで「誤入力を確実に検知できる」ものではないんだよなぁ
確実に検知したけりゃ親コメの言うように冗長化するしかない
Re: (スコア:0)
これ読んでいないよね。
分かりやすくするため、個人番号を11桁の数字abcdefghijkxとしますと、
検査用数字xはx = 11 – (6a + 5b + 4c + 3d + 2e + 7f + 6g + 5h + 4i + 3j + 2k) mod 11 ただしx≧10ならx=0です。
これなら、まだしもわかりやすいでしょうか。
Re: (スコア:0)
その分かりやすい説明で何がわかったと思ってるのか
わかんないなぁ
Re: (スコア:5, 参考になる)
まあ確かに、あのコメントで意味が分かるような人は、#3052845 [srad.jp]みたいなボケたことは最初っから書かないでしょうね。、
#3052873 [srad.jp]の式が意味することは、「隣り合う桁に対して、異なる数を乗する」ことで、「隣り合う数値が入れ替わった時にはチェックデジットが変わる」ようになっているってことです。
> 今度は「12345678」と「12354678」みたいな間違いを検知できない
なんていう浅はかなチェックデジットなんて今時使ってるとこなんてありません。
ちなみに、製品バーコードとして広く使われているJANコードなんかは、「(a+3b+c+3d+e+…+k+3l+m) mod 10 = 0」を満たすよう
Re:検知できない場合がある (スコア:0)
本当にそれだけの意味でその数式書いたの?まぁあなたじゃないんだろうけど。
「検知できない場合があるのは問題だ」という(チェックディジットというものを理解していない)元コメに対して
チェックディジットはそういうものではない、検知できない場合もあるという説明をしているって話の流れでしょう。
そこで「このチェックディジットなら数字の入れ替わりを検知できるもんね」って指摘する意味が全くわかんないよ。
Re: (スコア:0)
上げ足とってチェックディジットのこと詳しい俺TUEEEEしたいだけの人に何言っても無駄だよ
# しかもそれで「JANコードは入れ替わりも検出できます」とか言い切っちゃって反例あげられてるから凄い間抜けっぽい