Does stream I/O support "%a" floating-point format?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • John Friedland

    Does stream I/O support "%a" floating-point format?

    'printf' has a '%a' conversion for floating-point output:
    The `%a' and `%A' conversions are meant for representing
    >floating-point numbers exactly in textual form so that they can be
    >exchanged as texts between different programs and/or machines. The
    >numbers are represented is the form [`-']`0x'H`.'HHH`p'[`+'|`-']DD.
    For example, printing '123456' with "|%13.4a|" produces

    | 0x1.e240p+16|

    I've looked through Josuttis and the header files, but I can't find
    any flags or manipulators that could handle this. Is this possible
    with stream I/O?

    Supplementary question: does anyone know how to search for a '%a' in
    Google groups?

    Thanks -

    John
  • Pete Becker

    #2
    Re: Does stream I/O support "%a&quo t; floating-point format?

    John Friedland wrote:
    'printf' has a '%a' conversion for floating-point output:
    >
    The %a and %A conversion specifiers are new in C99. C++ is based on C90,
    so as it stands now, it doesn't have them. TR1 adds them, and that's one
    of the parts of TR1 that's been added to the working draft for the next
    version of the C++ standard.

    But in practice, if your C library supports them, they'll work in C++, too.

    Comment

    • P.J. Plauger

      #3
      Re: Does stream I/O support "%a&quo t; floating-point format?

      "Pete Becker" <petebecker@acm .orgwrote in message
      news:Jradnc6FS5 RsK13ZnZ2dnUVZ_ rudnZ2d@giganew s.com...
      John Friedland wrote:
      >'printf' has a '%a' conversion for floating-point output:
      >>
      >
      The %a and %A conversion specifiers are new in C99. C++ is based on C90,
      so as it stands now, it doesn't have them. TR1 adds them, and that's one
      of the parts of TR1 that's been added to the working draft for the next
      version of the C++ standard.
      >
      But in practice, if your C library supports them, they'll work in C++,
      too.
      Right. Our current product, which includes full TR1 support, also provides
      the manipulator hexfloat, so you can insert hexadecimal format
      floating-point
      values into a stream. As Pete says, both %a in printf and hexfloat in
      iostreams are part of TR1 and will be part of the next C++ Standard.

      P.J. Plauger
      Dinkumware, Ltd.



      Comment

      • P.J. Plauger

        #4
        Re: Does stream I/O support &quot;%a&quo t; floating-point format?

        "Pete Becker" <petebecker@acm .orgwrote in message
        news:Jradnc6FS5 RsK13ZnZ2dnUVZ_ rudnZ2d@giganew s.com...
        John Friedland wrote:
        >'printf' has a '%a' conversion for floating-point output:
        >>
        >
        The %a and %A conversion specifiers are new in C99. C++ is based on C90,
        so as it stands now, it doesn't have them. TR1 adds them, and that's one
        of the parts of TR1 that's been added to the working draft for the next
        version of the C++ standard.
        >
        But in practice, if your C library supports them, they'll work in C++,
        too.
        Right. Our current product, which includes full TR1 support, also provides
        the manipulator hexfloat, so you can insert hexadecimal format
        floating-point
        values into a stream. As Pete says, both %a in printf and hexfloat in
        iostreams are part of TR1 and will be part of the next C++ Standard.

        P.J. Plauger
        Dinkumware, Ltd.




        Comment

        • John Friedland

          #5
          Re: Does stream I/O support &quot;%a&quo t; floating-point format?

          Thanks guys -

          John

          Comment

          Working...