首页 > 试题广场 >

编程输出 long double 型数 12345.6789

[问答题]

编程输出 long double 型数 12345.67891023456 的二进制位码。

推荐
//-----------------------------------
//EX0405.cpp
//浮点数的位码
//-----------------------------------
#include<iomanip>
#include<iostream>
using namespace std;
//-----------------------------------
int main() {
  long double d = 12345.67891023456;
  cout<<fixed<<setprecision(11)<<d<<"\n";
  char* p = (char*)&d;
  for(int i=9; i>=0; --i)
  {
    char c = p[i];
    for(int j=7; j>=0; --j)
      cout<<(c>>j & 1);
    cout<<(i%5==0?"\n":",");
  }
}//----------------------------------
运行得到的结果为:
12345.67891023456
01000000,00001100,11000000,11100110,10110111
00110100,00111110,10011001,01101000,00000000

发表于 2018-05-07 20:34:33 回复(0)