gpt4 book ai didi

c++ - 获取作为字符串存储在输入文件中的二进制数的 2' 补码

转载 作者:行者123 更新时间:2023-11-27 23:15:58 26 4
gpt4 key购买 nike

我是初学者。我正在尝试获取存储在字符串中的二进制数的 2 的补码sou2_reg='000000000000000000000000000000011'。如果我执行 sou2_reg[32],它会给我 1,最后一位。

现在我要做的是获取sou2_reg 的2 的补码。我试过了,但没有用。你能给我一些代码吗??非常感谢

string twosComp(string number) {

if ( number == 0 ) { return "1"; }
if ( number == 1 ) { return "0"; }

if ( number % 2 == 0 ) {
return twosComp(number / 2) + "1";
}
else {
return twosComp(number / 2) + "0";
}
}

最佳答案

1) % 对字符串不起作用

2) 您的代码所做的是找到一个的补码。两者的补码是加一。

std::bitset <MYSIZE> bset(number);
bset.flip(); // one's complement
for (int i = 0; i < bset.size(); i ++) {
if (bset[i])
bset[i] = 0;
else {
bset[i] = true;
break;
}
}
return bset.to_string();

关于c++ - 获取作为字符串存储在输入文件中的二进制数的 2' 补码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16386414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com