【发布时间】:2015-10-02 09:29:46
【问题描述】:
我正在尝试将 5 位邮政编码转换为 27 位条形码(由 0 和 1 组成),反之亦然。条形码的第一个和最后一个数字始终为 1。删除这些会留下 25 个数字。分成 5 位,从左到右依次编码为 7、4、2、1、0。如果乘以对应的数字和数字并计算总和,我们可以得到邮政编码的第一个数字。例如,25位条码为10100 10100 01010 11000 01001,邮编为99504。
1 x 7 = 7
0 x 4 = 0
1 x 2 = 2
0 x 1 = 0
0 x 0 = 0
总和 = 9
// main.cpp
#include <iostream>
#include <iomanip>
#include "ZipCode.h"
using namespace std;
int main()
{
ZipCode zip1(99504);
ZipCode zip2(12345);
ZipCode zip3(67890);
ZipCode zip4("100101010011100001100110001");
ZipCode zip5("110100001011100001100010011");
ZipCode zip6("100011000110101000011100101");
cout << "Digits" << " " << "Bar Code" << endl;
cout << zip1.getZipCode() << setw(35) << zip1.getBarCode() << endl;
cout << zip2.getZipCode() << setw(35) << zip2.getBarCode() << endl;
cout << zip3.getZipCode() << setw(35) << zip3.getBarCode() << endl;
cout << endl;
cout << zip4.getZipCode() << setw(35) << zip4.getBarCode() << endl;
cout << zip5.getZipCode() << setw(35) << zip5.getBarCode() << endl;
cout << zip6.getZipCode() << setw(35) << zip6.getBarCode() << endl;
return 0;
}
现在这是我的问题:在getZipCode(int num){} 中,我如何比较每个整数值并评估为条形码?例如,在main() 中,它表示ZipCode zip1(99504);。既然 99504 是一个整数,那我如何将 9 计算为条形码,然后再计算下一个,以此类推?
【问题讨论】:
-
脑死的方法是冲刺数字并访问字符......
-
请注意,编码
0的位实际上是parity bit。
标签: c++ for-loop integer barcode zipcode