2. `gcc float.c -o float` or similar
4. Import the binary into ghidra.
5. Give the float type to the constants.
6. Observe that minus zero is missing its minus sign in the listings view (only) and that the precision of `2.4912346E12f` is wrong in the decompiler view (only).
**Expected behavior**
1. Minus sign is not missing in the listings view
2. `2.4912346E12f` is shown correctly in the decompiler view.
**Attachments**
[float.tar.gz](https://github.com/user-attachments/files/16016168/float.tar.gz)
**Environment (please complete the following information):**
Ghidra Version: 11.1.1
Ghidra Release: PUBLIC
Ghidra Build Date: 2024-Jun-14 1025 EDT
Ghidra Revision: febbeb447af1f059d583b11d7cefc8758b99f887
Ghidra Development Mode: false
OS Name: Linux
OS Arch: amd64
OS Version: 6.1.0-21-amd64
OS Pretty Name: Debian GNU/Linux 12 (bookworm)
Java Vendor: Eclipse Adoptium
Java Version: 22.0.1
**Additional context**
Originally found in the context of Google CTF's ieee challenge.
Describe the bug
Ghidra does not properly show the sign of minus zero (0.0f) (it's 0x8000_0000): Listing view (incorrect):
Decompiler view (correct):
![grafik](https://github.com/NationalSecurityAgency/ghidra/assets/60750685/46c350d0-6bb7-44b0-af67-b688755eb029)
Ghidra truncates floats incorrectly in the decompiler view only: Listing view (correct):
Decompiler view (incorrect):
![grafik](https://github.com/NationalSecurityAgency/ghidra/assets/60750685/4cf05cb2-285d-41e2-b543-2a28d087074c)
To Reproduce Steps to reproduce the behavior:
float minus_zero; float plus_zero; float positive_infinity; float negative_infinity; float precision_problem;
int main(int argc, char **argv) {
}