我正在尝试使用以下算法获取UPC代码的校验和:
结果应该是校验位。
这是我的代码:
int[] a = {1, 2, 3, 4, 5}
checksum = 0;
int i = 0;
while ( a[i] < a.length-1 )
{
checksum += a[i] + a[i - 1] ;
i++;
}
checksum = ;
有什么想法吗?
答案 0 :(得分:0)
如果您只想对数组的所有条目求和,可以执行此操作(未测试):
var sum = 0;
var vars = [1, 2, 3, 4, 5];
vars.forEach(function (callback) {
sum = sum + callback;
})
alert(sum);
这不是真正的校验和,也可能有5,2,3,1,4
您也可以查看a similar question on SO。 它是关于如何获取文件的md5校验和;你也可以用它作为字符串。
我不能更具体地回答,因为你的问题不是。
修改强>
如果我理解了最后一行,那么这应该有效(未经测试):
var vars = [1, 2, 3, 4, 5];
var sum135;
var sum246;
var i = 0;
while (i < vars.length) {
sum135 = sum135 + vars[i];
sum246 = sum246 + vars[i + 1];
i = i + 2;
}
sum135 = sum135 * 3;
var checksum = (sum135 + sum246) * (sum135 + sum246 + 10) - (sum135 + sum246);