位移,表达必须有一个整数

时间:2014-01-27 22:30:02

标签: c++ visual-studio-2013

我正试图将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;
}

1 个答案:

答案 0 :(得分:2)

您无法移位浮点类型。那你为什么还想要呢?尝试使用整数类型重新编写代码,或者转换为int类型,并在此处查看:How to perform a bitwise operation on floating point numbers