![](/img/trans.png)
[英]how to convert a decimal number into 64 bit floating point number in C program?
[英]a decimal number into 64 bit floating point double precision binary?
所以我有一個代碼(從另一個線程)將十進制轉換為浮點二進制,問題是它仍然在32位。
#include <iostream>
#include <bitset>
using namespace std;
int main() {
union {
float input;
int output;
} data;
float x;
cin>>x;
data.input = x;
bitset<sizeof(float) * CHAR_BIT> bits(data.output);
cout << bits << endl;
}
如何將其更改為64位浮點二進制文件?
template <std :: size_t N>
類位集;
這是在頭文件中定義位集的方式。 因此,如果您想要64位。 只需在位集中輸入64。 bitset <64>將為您所需的輸入提供64位輸出。
這是修改后的代碼:
#include <iostream>
#include <bits/stdc++.h>
#include <bitset>
using namespace std;
int main() {
union {
float input;
int output;
} data;
float x;
cin>>x;
data.input = x;
bitset<64> bits(data.output);
cout << bits << endl;
}
輸入
2.25125
輸出:
0000000000000000000000000000000001000000000100000001010001111011
在線編譯器鏈接 : http : //cpp.sh/832cr
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.