C++ 带浮点数的位移位

C++ 带浮点数的位移位,c++,floating-point,bit-shift,C++,Floating Point,Bit Shift,我想把浮点数的10位移到一个整数中。但我有个问题 int main() { using namespace std; int lastValue; float myNum = -29.33; lastValue = myNum * (1 << 10); cout << lastValue << endl; } intmain(){ 使用名称空间std; int值; 浮动myNum=-29.33; lastValue=m

我想把浮点数的10位移到一个整数中。但我有个问题

int main() {
    using namespace std;
    int lastValue;
    float myNum = -29.33;
    lastValue = myNum * (1 << 10);
    cout << lastValue << endl;
}
intmain(){
使用名称空间std;
int值;
浮动myNum=-29.33;

lastValue=myNum*(1
lastValue
定义为
int
。如果为
0
,则其真值为
false
,否则为
true


lastValue=myNum*(1请选择一种语言。您的代码不会返回任何内容(除了隐式的
返回0;
)问题是什么?你能详细说明你在这个例子中期望得到什么结果吗?我不清楚你打算做什么。我想知道lastValue是真的。@Damien你得到了哪个值?你期望得到哪个值?你没有对浮点进行位移。你只是将浮点与整数值相乘
(1)
lastValue = (int)(myNum * (float)(1 << 10));