Bug 6453
Summary: | strtod() is buggy | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | lars |
Component: | glibc | Assignee: | Cristian Gafton <gafton> |
Status: | CLOSED NOTABUG | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 6.2 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2000-03-04 22:21:09 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
lars
1999-10-28 06:53:37 UTC
I've verified it's indeed a glibc problem, and still present in dist-6.2 #include <stdlib.h> main() { double a=strtod("0x0a", NULL); printf("%f\n", a); } Well, ISO C99 specifies that: [#5] If the subject sequence has the hexadecimal form and FLT_RADIX is a power of 2, the value resulting from the conversion is correctly rounded. 7.20.1.3 Library 7.20.1.3 In binary notation, 0x0A = 1010 = 1.25 (for FLT_RADIX=2, whcih is the default) Not a bug, just what the standard mandates. |