2013年11月13日水曜日

AOJ0268 金剛の型

単に入力が16進数で与えられて、10進数に良い感じになおして出力するだけ。
学校でやって爆死したので、家でやったが爆死。合計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 件のコメント:

コメントを投稿