我正试图将63个位置向左移动。我不断得到一个“表达式必须有一个整数或无范围的枚举类型。我对C ++很新,所以我确信这很简单。
#include <iostream>
using namespace std;
int sign_bit(double x){
double temp = x << 63; // this is the line that is throwing the error
int return_value = reinterpret_cast<int>(temp);
return return_value;
}
int main(){
double n = -1.00;
double p = 1.00;
return 0;
}
答案 0 :(得分:2)
您无法移位浮点类型。那你为什么还想要呢?尝试使用整数类型重新编写代码,或者转换为int类型,并在此处查看:How to perform a bitwise operation on floating point numbers