学校でやって爆死したので、家でやったが爆死。合計8WA。
書いてくうちにシンプルになっていった。
ジャッジをデバックに使わないように(戒め)
#include<cmath>
#include<cstdio>
using namespace std;
typedef unsigned int ui;
int main(){
int q;
scanf("%d",&q);
while(q--){
ui bit;
scanf("%x",&bit);
if(bit >> 31 & 1) putchar('-');
int Seisu = ( bit & 0x7FFFFFFF ) >> 7;
int Syosu = ( bit & 0x0000007F );
double ans = 0.0;
int keta = 0;
for(int j = 0 ; j < 7 ; j++){
if(Syosu & (1 << (6-j))){
ans += pow(0.5,j+1);
keta = j;
}
}
printf("%.*lf\n",keta+1,Seisu+ans);
}
}
0 件のコメント:
コメントを投稿