我想计算我的数据的校验和。将字符串转换为二进制后,我现在需要对所有 8 位字符串求和(对它们进行异或),这样,如果异或在求和结束时产生溢出位(进位位),则应将该位添加到最后总和,现在获得的值是最终值(8 位校验和)。
然后我想取 8 位 FINAL 值的 1s 补码,这个新值将是我可以提前使用的实际校验和。我不知道如何处理这些二进制字符串中的每一个并将它们放在首位:(
#include <string>
#include <bitset>
#include <iostream>
using namespace std;
int main()
{
string myString = "Hello World";
for (std::size_t i = 0; i < myString.size(); ++i)
{
cout << bitset<8>(myString.c_str()[i]) << endl;
}
//the indentations might have shaken a bit in copting the code here.
}