hdoj.1289 Hat’s IEEE【水题】 2015/08/05

Hat’s IEEE

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 475    Accepted Submission(s): 211


Problem Description
Your program will be given floating point numbers (32-bit), and calculate
exponent and fraction.

IEEE 754:
SEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFF

S = sign(1)
E = exponent(8)
F = fraction(23)

NOTE: If you donnot know IEEE 754,you can baidu it:)
 

Input
Each line contains a numbers.
 

Output
For each case, output a line containing two numbers, e (exponent) and f (fraction), by a single space. Fraction must be rounded to six digits after the decimal point.
 

Sample Input
  
  
6560.91 -6560.91
 

Sample Output
  
  
12 1.601785 12 -1.601785 NOTE: INTEL CPU
 

Author
戴帽子的
 

Source

注:只要理解IEEE754原理即可AC,不是很难

#include<iostream>
#include<cstdio>
#include<cmath>

using namespace std;

int main(){
    float a;
    while( ~scanf("%f",&a) ){
        int cnt = 0;
        while( fabs(a) >= 2.0 ){
            a /= 2.0;
            cnt++;
        }
        while( fabs(a) < 1.0 ){
            a *= 2.0;
            cnt--;
        }
        printf("%d %.6lf\n",cnt,a);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值