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