• ベストアンサー

チェックディジットの効果について教えてください。

boisewebの回答

  • ベストアンサー
  • boiseweb
  • ベストアンサー率52% (57/109)
回答No.4

まず,チェックディジットの意義は「入力にエラーがあったときに、『その入力は誤りである』という事実に気づく」(エラーを検出する)ことにあります。 チェックディジットによるエラー検出力を考えるとき,「全くデタラメな」エラーの起こり方(たとえば,入力されたすべての桁がランダムな数字に置き換わる)を想定するのでなく,「ありそうな」タイプのエラー(1桁だけ数字が置き換わる,とか)を想定するのが普通だと思います. 13桁JANコード(スーパーのレジで読み取る商品バーコードや書籍の13桁ISBN)のチェックディジットを例に,次の2つのタイプのエラーを検出することを考えてみましょう. (1) 13桁のうち1桁だけ異なる数字に変化 (2) 隣り合う2つの桁の数字が入れ替わる (1)はOCR文字やバーコードを機械的に読み取るときに,汚れなどが原因で発生しうるタイプのエラーで,(2)は口頭で数字を伝えたり手作業で数字を書き写したりするときに発生しやすいエラーです。 で,13桁JANコードのチェックディジット算出方法を注意深く観察すると, (1)のタイプのエラーは必ず検出可能 (2)のタイプのエラーは確率40/45で検出可能(確率5/45で見逃し) であることがわかります. 一方,13桁のうち2桁離れた2つの数字(たとえば3桁めと5桁目)が入れ替わった場合,チェックディジットは全く無力です(必ず見逃します).でも,現実的にはそういうエラーはきわめて起こりにくいと考えられます. 13桁JANコードのチェックディジットは,(1)(2)という「経験的に起こりやすいタイプのエラー」を想定して,そのタイプのエラーを高確率で検出する意図で付与されているのです. 蛇足ながら,(旧規格である)10桁ISBNのチェックディジットはもう少し工夫されていて,任意の2つの桁の数字の入れ替わりを確実に検出できます。

関連するQ&A

  • チェックディジット?

    チェックディジット? 40757851-0 40757852-8 40757853-6 40757854-4 40757855-2 上記の様な番号を会社で使っているんですが 左8桁(ハイフンから左側)は 見て頂くとわかるようにただカウントしていってるだけなのですが、 一番右の1桁(ハイフンの右側)の番号にどういう規則があって算出されてるのか知りたいのです。 私なりにインターネット等でいくつかのチェックディジット? の算出方法で試しても合いません・・・ 下手な文章で分かりづらいとは思いますが、 どなたかお分かりの方教えていただけないでしょうか?

  • コード入力誤りを防止するための、チェックデジットについて

     例えば、10桁のコード入力誤りを防止するために、複雑な計算をして11桁目のチェックデジットを決めています。(それぞれの数字に、いろいろな数を掛け、その合計を11で割り、その余りを11から引いた後の数) しかし、11桁目のチェックデジットは0~9までの10個の数字ですので、間違いを発見できる確率は複雑な計算をしてもあまり変わらないのではないでしょうか?  素人ですので、わかりやすく教えてもらえればありがたいです。  わかりやすく説明されている、本でも結構です。

  • アクセスを使って整数を入力するときにチェックデジットで入力が違うと警告するようにするには

    アクセスを使って整数番号を入力するときにその整理番号にチェックデジットがかかっているのですが(算式はわかりません)、入力した整数が違うと警告するようにするにはどうすればいいのでしょうか。整理番号は7桁です。 算式がわからないので解答のしようがないかもしれませんが・・・ 素人でアクセスもチェックデジットについても詳しくないのですが、分かる方がいれば教えてください。 質問の意味はうまく伝わってるでしょうか?

  • チェックデジットについて

    CIAという試験の勉強をしているのですが、以下の問題が理解できず困っています。 ご教授願います。 (問題) 入力統制のうち、元々あった数値データの加工もしくは転送中に変化していないかを確認するために、何らかの計算を施された数値データは次のどれか A ハッシュトータル B パリティチェック C 暗号化 D チェック・デジット (解答) D (解説) チェックデジットとは、ID番号末尾に追加する桁のことで、データ加工・転送等によってデータが変化していないかどうかを確認する入力統制であり、正解はD ハッシュトータルは、データ項目の合計に関連するチェックであるので、Aは誤り。 パリティチェックは、各キャラクターに1ビット分付加し、ハードウウェア内でのキャラクター転送によりこのビットが失われていないかを確認するプロセスであるので、Bは誤り。 暗号化はセキュリティー保持のための処理であり、入力統制ではないのでCも誤り。 (質問) チェックデジットは、入力エラーを防止するためのものと私は理解しています。 解説では、「データ加工・転送等によってデータが変化していないかどうかを確認する入力統制」とされています。 この点がイメージできません。 パリティチェックやハッシュトータルの方が正解になるような気がしているのですが・・ よろしくお願いします。

  • アクセスを使って整数を入力するときにチェックデジットで入力が違うと警告するようにするには (新

    前回の質問がかなり抽象的で意味がわかりずらかったと思いますので追加します。 自分なりにしらべた結果、チェックデジットの計算方法は次のとおりでした。 整数は6桁で一番最後の桁がチェックデジットになっています。 例えば、540838という番号なら最初の5の桁に6をかける(5×6=30) 次の桁は4に5をかける(4×5=20)次の桁は0に4をかける(0×4=0) 以下、8×3=24、3×2=6と計算し、出た答えを全部たした(30+20+0+24+6=80)80を最初に超える11の整倍数からひく(88-80=8)と最後の桁と一致すればその番号は正しく入力されていると判断できるしくみになっています。 この演算式をアクセスでデータ入力した際に、自動的に演算計算して、チェックデジットが一致していないときは、警告するようにしたいのですが、この算式をアクセスでどのように入力すればいいのかわかりません。また、そもそも、アクセスでこんな演算式を入れることができるのかもわかりません。 素人で申し訳ないのですが、わかるかたがいれば教えてください。 関連URL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=128693

  • チェックデジットを付加したデータを生成したい。

    MSアクセス2000を使用しています。 アクセス初心者なので、的はずれなことも言っているかもしれませんが、よろしくお願いします。 13桁のバーコードデータを作成したいのですが、必要なのは数値だけで、バーコードそのものは必要ありません。 たとえば、12桁の商品番号と、商品名だけで構成されるデータがあったとして、商品番号からチェックデジットを計算し、新たな項目にチェックデジット付きのデータを入れてくれるような方法はないでしょうか? また、使用するソフトは、アクセスだけでなくても構いません。エクセルや他のソフトを使ってチェックデジット付の数値のみのデータを取得する方法を探しています。 よろしくお願いします。

  • JANコードのチェックデジットを調査

    いつもお世話になっております。 エクセルファイルに13ケタ・8ケタのJANコードを羅列した行があるのですが、手作業で入力した為、間違っている可能性があります。 そこで、チェックデジットが合っているかを調べる数式を作成したいと思うのですが、そのようなことは可能でしょうか? また、8ケタと13ケタを1度にチェックできるでしょうか? ご存知の方がいらっしゃったら、宜しくご教授お願い致します。

  • チェックデジット(M10W21)を使ったエクセルでのデータ管理

     エクセルでデータ管理していますが、チェックデジット(M10W21)を入力した管理番号をそれぞれに振りたいと思いますが何か良い計算式はありますか?  なお、400くらいのデータがありますので同一シート(例えばA1にデータ、B2にチェックデジット付きの管理番号)で処理したいんですが・・。 よろしくお願いします。

  • チェックデジットについて

    CIAという試験の勉強をしているのですが、下記の問題が良くわからなくて困っています。 正解は選択肢2、3です。 選択肢2、3が正解なのは理解できました。 しかし、選択肢1がどのようなことを言っているのがイメージがつかなくて困っています。 どなたがご教授願います。 (問題) カタログ販売会社が注文とは違う商品を顧客に発送するという事態が頻発している。 多くの顧客は電話で注文をし、その注文を受けた後、オペレーターはすぐに注文システムにデーター入力している。 これが適正に行なわれない場合、この問題に対して有効な統制手続は次のどれか。 (選択肢) 1 コンピューターに、注文の連番を自動的にそれぞれの顧客注文に割り当てさせる 2 それぞれの製品番号に対し、チェック・デジットを組み込み、製品番号による入力を要求する 3 製品番号による入力を要求し、コンピューターのプログラムに製品と価格を特定させ、顧客との製品内容についての口頭での確認をオペレーターにさせる

  • クレジットカードのチェックデジットについて

    電話で自動受注をするシステムの企画をしております。 クレジットカードの番号を聞くような部分を作っているのですが、クレジットカードのチェックデジットの仕組みってどうすれば教えてもらえるか、それともそもそも非公開のものなのかご存知の方教えてください。 よく、Web上でカード番号を入力した時に、カード番号を間違えるとエラーになったりするので、どこかで申請すれば情報がもらえるのではと期待してます。 よろしくお願いします。