3
我有以下代碼爲什麼這段代碼的結果是0?
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <stdint.h>
using namespace std;
int main(){
int x;
cin>>x;
uint32_t Ex;
Ex=(x<<1)>>24;
cout<<Ex<<endl;
return 0;
}
,但它的任意x值給出了0?
我的任務是:
Computation of the biased exponent Ex of a binary32 datum x.
您的輸入是什麼?你嘗試過所有的數字嗎?你嘗試過哪些邊緣案例?該代碼實際上將x乘以2,然後將結果除以2^24。所以它不得不相對較大。但是任何大於2^23的數字和很多負數都不應該返回零。請注意,這是一個有教養的猜測,因爲我沒有鉛筆和紙張來檢查 – 2010-07-20 07:38:22