主题:浮点数的位码
浮点数的位码
Time Limit:1000MS Memory Limit:32768K
Description:
长双精度型是C++语言内部表达能力最强的数据类型。研究其内部的位码也是饶有兴趣的。针对每个长双精度数,输出其位码。
Input:
输入数据中含有一些浮点数n(-3.4×10^4932<n<1.1×10^4932)。
Output:
对于每个n,列出其位码,每个位码8位一组,中间用逗号隔开,每5组成一行,每个位码列成两行,位码之间空出一行,见样本输出。
Sample Input:
15.6756
12345.67891023456
Sample Output:
01000000,00000010,11111010,11001111,01000001
11110010,00010010,11010111,01110011,00011001
01000000,00001100,11000000,11100110,10110111
00110100,00111110,10011001,01101011,01101000
代码:
#include<iostream>
using namespace std;
int main()
{
int m=0;
for(double n;cin>>n;)
{
char*p=(char*)&n;
for(int i=0;i<10;++i)
{
for(int j=7;j>=0;--j)
cout<<((*(p+i)>>j)&1);
cout<<(i%5==4?"\n":",");
}
}
}
结果出错 !!!!!!!
Time Limit:1000MS Memory Limit:32768K
Description:
长双精度型是C++语言内部表达能力最强的数据类型。研究其内部的位码也是饶有兴趣的。针对每个长双精度数,输出其位码。
Input:
输入数据中含有一些浮点数n(-3.4×10^4932<n<1.1×10^4932)。
Output:
对于每个n,列出其位码,每个位码8位一组,中间用逗号隔开,每5组成一行,每个位码列成两行,位码之间空出一行,见样本输出。
Sample Input:
15.6756
12345.67891023456
Sample Output:
01000000,00000010,11111010,11001111,01000001
11110010,00010010,11010111,01110011,00011001
01000000,00001100,11000000,11100110,10110111
00110100,00111110,10011001,01101011,01101000
代码:
#include<iostream>
using namespace std;
int main()
{
int m=0;
for(double n;cin>>n;)
{
char*p=(char*)&n;
for(int i=0;i<10;++i)
{
for(int j=7;j>=0;--j)
cout<<((*(p+i)>>j)&1);
cout<<(i%5==4?"\n":",");
}
}
}
结果出错 !!!!!!!