将十进制数转换成-2进制数:比如-13=1*1+1*(-2)+1*4+0*(-8)+1*16+1*(-32)==110111;
string decitominus2(int num) { string result; while(num) { if(num%(-2)<0) { result.insert(result.begin(),‘1‘); num=num/(-2)+1; } else { result.insert(result.begin(),num%(-2)+‘0‘); num=num/(-2); } } return result; }
时间: 2024-10-10 02:47:49