如何在C++中實現有符號移位?例如該代碼有符號移位
#include<iostream>
using namespace std;
int bit_number(int x){
int total=0;
while(x){
total++;
x>>=1;
}
return total;
}
int main(){
int x=10;
//cout<<bit_number(x)<<endl;
int a=bit_number(x);
int b=2*a;
x<<=(b-a);
x=x>>>(b-a);
while(x!=0){
int k=x%2;
x=x>>1;
cout<<k<<endl;
}
return 0;
}
表明我這個錯誤:
Error 1 error C2059: syntax error : '>' c:\users\datuashvili\documents\visual studio 2010\projects\binst\binst\binst.cpp 19 1 Binst
我知道,在Java中籤轉變,那C++?我該怎麼做?
''>>可以實現一個標誌保護右移;它是實現定義的。結果的重要性是什麼?如果它是價值,你可能需要一個簡單的算術運算,更準確地反映你的意圖。 –
爲什麼downvote?我們現在有人問問題嗎? – jalf