[英]Convert negative int to binary string in c++
我需要將一個負整數轉換為二進制字符串。 我用二進制補碼。 例如,我的電話號碼是-1。
首先,將負數更改為正1。然后,轉換為二進制字符串為0001。接下來,翻轉字符串為1110。
問題是我不知道如何在字符串中加1以獲得1111。
我已經像32位一樣使用了位設置功能
bitset<32>(input).to_string();
原來是1111 1111 1111 1111 1111 1111 11111111。我只需要最后4個。我不知道如何拿走其余的東西。 我需要32位,因為我的輸入可以是很大的數字,例如-300。
請幫我解決一下這個。
如果您完全有能力獲取整數,請翻轉符號,然后翻轉所有位,但是您只需要添加一個位的幫助,這里有一個簡單的解決方案!
在翻轉位之前加1 。 而已!
您的電話號碼是-1? 加1,得到0。將符號翻轉,仍為0。轉換為二進制字符串0000。現在翻轉位,您將獲得1111 = -1!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.