• ベストアンサー

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

一覧番号の桁数の中にチェクウデジットを設けようという話が合った場合に、仕様決めからプログラミングでのチェックの仕方まで、どのような段取りで進めれば良いか解りません。(初めて使うので) 知りたいこと。     1.チェックデジットの仕様の決め方。(最重要)   2.決めたらそれをどのようにプログラミングに落としていくのか。   3.チェックの仕方。   ※尚、開発言語はJAVAです。 解る方、やさしく、詳しく教えてください。

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

●チェックディジット数字の付加過程 1.番号やコードの各桁のウェートを定める. 1,2,1,2,1,2...など使ったことあります。 (注)a1*w1+a2*w2+a3*w3+...のW1,W2,w3,..をウエイトということあり。 2.対象とする番号などの各桁の値と各ウェートを対応する桁どうしで乗算する。そしてその積の和を求める。 3.モジュラスというものを決める。10とか11とかがある。 4.モジュラスを11とした場合、11で割る。余りが出るが、モジュラス11から余りを引いたものを計算する。 その数字をチェックディジットとし、番号の最後の1桁として加える。 5.モジュラス11では余りが2桁になる可能性があるため その時は10位の数と1位の数字を加えてから11から引く。 ●誤りの検出過程 番号が入力されたときは、右端の1桁(チェックディジット)を除いて、上記1から5までの計算をする。 その計算の結果出てきた数字をチェックディジットと比べて 不一致だとチェックディジットエラーとする。 ●誤り検出力の理論 どう言うウエイトを使うか、モジュラスをいくつにするかによって誤り検出力の理論もありますが、WEB検索ででも探してください。 プログラムコーディングも略します。

minekichi
質問者

お礼

これは、大変助かります。 ありがとうございました。

その他の回答 (1)

  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

チェックディジットの使用目的を特定する必要があります。 一般には誤りの検出、ということですが、目的によって「どのような誤りが生じやすいのか」が異なりますから、 そこを特定しなければ仕様は決定できません。 単発的な誤りの生じ方に関してはそれほどの差異はないでしょうが、 バーストエラーに関しては指向性がありますので。 なお、3は仕様に含めるべきと考えます。

minekichi
質問者

お礼

ありがとうございます。 3.を仕様に含めて考えなくてはいけませんね。 助かりました。

関連するQ&A

  • C言語より後に開発されたプログラミング言語は

    C言語を基にして開発されたのでしょうか? C++,C#はもちろんそうですが、Java、PHP、JavaScriptなどもそうなのでしょうか?と言うのも、C言語の関数とこれらのプログラミング言語の関数がかなり似ているところ(共通しているものも)があるからです。また、Excelの関数とも似ているのですが、これらのプログラミング言語と何か関係があるのでしょうか。

  • プログラミング言語

    プログラミング言語のC言語とかJavaとかPerlとかの違いって使いやすさや慣れ以外に違いってあるんですか? 言葉足らずですいません…! 先程あげた三つのプログラミング言語が全く違うのは理解しているのですが、 それを使う、仕様した結果何か変わるのか疑問を抱いたので質問させていただきました。 初心者なので全く分からなくて… 教えてください><

  • 初級者のプログラミング用コンピューター

    初めまして、 プログラミングの仕事をしていまして、それに適する新しいコンピューターを買います。 プログラミングは、 Cや、 C++, Java言語を使います。 特に、Java言語ではJDK, サクラエディタと使っています。 C、C++言語はMicrosoft Visual C++ 2010 Expressを使っています。 将来的には、Androidアプリの開発をする環境をする予定です。 これらの条件で適したコンピューターを教えていただけますか? よろしく御願いします。

  • 今からプログラミングを勉強するにはどの分野、言語が良いのでしょうか?

    今までプログラミングの経験はありません。 異業種からの転職を考え、これからプログラミングを勉強しようと考えていますが、どの分野(Web系、開発系、制御系など) どの言語(C言語、Java、PHPなど)がこれから先よいのでしょうか? 将来性や求人数も見据えて・・・プログラミングに詳しい方、教えてください。 宜しくお願いします。

  • ゲーム作りたいがC言語かJAVAか迷う。

    私は将来、ゲーム・デザイナーになりたくて、プログラミングの勉強をしたいと思っています。それに向けて、学習するべき言語というのはCなのかJAVAなのかでまよっているのです。よくプログラミング言語など似たようなところがあり、ひとつの言語を身につければ他の言語も身につきやすいともいいますが、なるべく効率的に学んでいきたいですし、一番使用されることの多い言語を選びたいです。私が作りたいのは携帯電話用の比較的簡単なゲームでなく、ある程度大掛かりなというか、本格的なゲームを開発してみたいという思いがあります。これは特殊な例かもしれませんが、例えばコンピュータ将棋のプログラムなどではほとんどC、C++で開発されています。JAVAなどで作成されたソフトは見かけませんでした。やはり、JAVAの利点もあるでしょうが、結局、一番普遍的なというか、汎用性のあるプログラミング言語としてはC言語を選択するのが最良の策かなと考えています。これは妥当な筋道なのかとお尋ねしたく質問させていただきました。

  • Java言語の利点の一部として以下のものが考えられると思うのですが,それぞれの利点のその理由を教えて頂きたいです.

    Java言語の利点の一部として以下のものが考えられると思うのですが,それぞれの利点のその理由を教えて頂きたいです. 1.ネットワークプログラミングに適している 2.可読性が高い 3.GUI開発に適している

  • CかJavaか

     これからプログラミング言語を勉強しようと思って何言語をしようか迷っております。それはC言語かJavaかです。  何が目的かといいますと、ゲームの作成やちょっとしたアプリケーションの開発です。(Web用ではありません。) Javaでも開発できるそうなのですが、大体はC言語(系)で開発しているのですよね? あともうひとつ、携帯電話用のアプリってJavaでしか開発できないんですか?Cでは不可能ですか? ちなみに、私が今までやってきたのはJavaScriptとPHPぐらいです。よろしくお願いします。

  • プログラミング言語の違いを教えてください!

    こんにちわ。 ただ今就職活動中の者です。 大学ではC++の基礎を勉強しましたが色々あるプログラミング言語の違いがよく理解できていません。 プログラミング言語はCOBOL、JAVA、C言語、visual basic、perlなど、本当に様々な言語がありますが、それらの言語について詳しく教えていただけませんでしょうか? (それぞれはどういった分野のシステムの開発に向いていて、どのような弱点があるなど)お手数ですが、よろしくお願いします!

  • システムエンジニアについて

    Javaなどを勉強する入門書の本や雑誌は何がいいですか? c言語はよく本が理解できなかったので、かなり簡単なプログラミングやソフト開発の本を教えてください!

  • delphi等で作ったものをCDやDVDに写す方法教えてください。

    delphi等で作ったものをCDやDVDに写す方法教えてください。 又、C言語、java、c++、vc++、php、vb、vba・・・などプログラミング言語で作ったものはどうやってCDやDVDに写せばいいか。 また、どの言語がそのようなソフトを開発できるのか教えてください。 C言語とdelphiをやっているのですが、正直C言語はソフトをなかなか開発できるところまでいかないので、つまらないと思ってしまっています。それに対してdelphiはすぐにソフトを開発できるため、とても面白く感じています。それでそのソフトをCDやDVDに写したいと思いました。