Convertisseur IEEE 754

Afficher la représentation binaire et hexadécimale d’un nombre flottant IEEE 754 en 32 ou 64 bits.

Affiche les bits et l’hexadécimal en ordre réseau (big-endian). En simple précision, le nombre est arrondi au flottant 32 bits le plus proche ; les valeurs qui débordent ce format sont refusées. Le décodage montre la valeur effectivement représentée.

La représentation hexadécimale suit l’ordre des octets big-endian. Les nombres subnormaux et le zéro signé sont conservés.

Méthode et hypothèses

Version de méthode 1.0.0 · Mise à jour

Encoder un nombre flottant

Formule: Code les nombres réels selon le signe, l’exposant biaisé et la fraction du format IEEE 754.

Affiche les bits et l’hexadécimal en ordre réseau (big-endian). En simple précision, le nombre est arrondi au flottant 32 bits le plus proche ; les valeurs qui débordent ce format sont refusées. Le décodage montre la valeur effectivement représentée.

value
Nombre décimal
precision
Format IEEE 754

Accepte les nombres décimaux finis et la notation scientifique. Les valeurs non finies et les débordements en simple précision sont refusés.

Reproduire le calcul en code

Ces exemples utilisent les mêmes entrées et le même calcul de base que cet outil. Adaptez la validation et le formatage à votre application.

JavaScript
const buffer = new ArrayBuffer(4);
new DataView(buffer).setFloat32(0, 1.5, false);
console.log(new DataView(buffer).getUint32(0, false).toString(16).toUpperCase()); // 3FC00000
TypeScript
const buffer = new ArrayBuffer(4);
const view = new DataView(buffer); view.setFloat32(0, 1.5, false);
console.log(view.getUint32(0, false).toString(16).toUpperCase()); // 3FC00000
Python
import struct
print(struct.pack('>f', 1.5).hex().upper())  # 3FC00000
Java
int bits = Float.floatToIntBits(1.5f);
System.out.printf("%08X%n", bits); // 3FC00000
C#
int bits = BitConverter.SingleToInt32Bits(1.5f);
Console.WriteLine($"{bits:X8}"); // 3FC00000
Autres langages
C
#include <stdint.h>
#include <stdio.h>
#include <string.h>
int main(void) { float f = 1.5f; uint32_t bits; memcpy(&bits, &f, 4); printf("%08X\n", bits); } // 3FC00000 on IEEE-754 hosts
C++
#include <bit>
#include <cstdint>
#include <cstdio>
int main() { auto bits = std::bit_cast<std::uint32_t>(1.5f); std::printf("%08X\n", bits); } // 3FC00000, C++20
PHP
echo strtoupper(bin2hex(pack('G', 1.5))); // 3FC00000 (big-endian float32)
PowerShell
$bits = [BitConverter]::SingleToInt32Bits([single]1.5)
'{0:X8}' -f $bits # 3FC00000