【问题标题】:What is the technical term for the input used to calculate a checkdigit?用于计算校验位的输入的技术术语是什么?
【发布时间】:2011-04-27 14:36:08
【问题描述】:

例如:

code = '7777-5';
input = code.substring(0, 4);   // Returns '7777'
checkdigit = f(input);          // f() produces a checkdigit

assert.areEqual(code, input + "-" + checkdigit)

上面提到的input 有专门术语吗?

具体来说,我正在计算checkdigits for ISBNs,但这不应该影响答案。

【问题讨论】:

  • 我认为没有特定的技术术语。可能是 messagedata 或任何最适用于域本身的内容。
  • @LukeH 我在谷歌搜索时找不到任何东西,所以你可能是对的,但我想我还是会检查一下。
  • 我认为您的条款很混乱。如果您仔细阅读链接的规范,您会发现您正在检查的东西实际上被称为“校验位”。所以你的问题的答案是“校验位”。
  • @Dan - 我的理解是checkdigitf(input) 的结果。我正在寻找input 的技术术语是什么。我认为我的术语是正确的,但如果我不正确,请纠正我!
  • 我听说过“有效载荷”适用于也有校验和的较大数据块,但我不确定这是否合适。

标签: naming-conventions terminology checksum isbn


【解决方案1】:

“原始数字不包括校验位”是否足够技术? :)

实际上,就像您发布的链接中那样,校验位或校验和确保了关于 full 输入的属性:

...[校验位] 必须是所有十位数字的总和,每个数字乘以整数权重,从 10 降到 1,是数字 11 的倍数。

因此,您将检查完整的数字,看看它是否符合此属性。

当您最初生成校验位时,它是“向后”的。在这种情况下,该函数将命名为 generate_check_digit 或类似名称,我只需将其参数命名为“输入”。

【讨论】:

  • 我希望答案会是一个有趣的词,可以在聚会上到处乱扔,或者用来赢得琐碎的追逐游戏——每个人都为胜利者欢呼,因为他们知道这个晦涩的词。但是“不包括校验位的原始数字”只是没有那个环......
  • @Gavin:我听到了,只是我自己没看到。
【解决方案2】:

虽然我不确定输入是否有众所周知的特定技术术语,但 LukeH 建议的内容(消息/数据)似乎足够普遍。

checksum 的维基:

使用此校验和,任何翻转消息的单个位或奇数位的传输错误都将被检测为不正确的校验和

check digit 的维基:

校验位是一种用于错误检测的冗余校验形式,相当于二进制校验和的十进制。它由一个从消息中的其他数字计算而来的单个数字组成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 2018-04-22
    • 2022-01-15
    • 2016-12-05
    相关资源
    最近更新 更多