【发布时间】:2018-01-25 23:32:34
【问题描述】:
我需要将负整数转换为二进制字符串。我用了补码。 比如我的号码是-1。
首先,我将负数改为正数 1。 然后,转换为二进制字符串是 0001。 接下来,我翻转字符串是1110。
问题是我不知道如何在字符串中加 1 得到 1111。
我已经使用了像 32 位这样的位设置功能
bitset<32>(input).to_string();
原来是1111 1111 1111 1111 1111 1111 1111 1111。我只需要最后4个。我不知道如何带走其余的。我需要 32 位,因为我的输入可能是一个很大的数字,例如 -300。
请帮帮我。
【问题讨论】: