function
<ios> <iostream>

std::hexfloat

ios_base& hexfloat (ios_base& str);
Use hexadecimal floating-point format
Sets the floatfield format flag for the str stream to hexfloat.

When floatfield is set to hexfloat, floating-point values are written using hexadecimal format.

The floatfield format flag is both a selective and a toggle flag: it can take any of the following values, or none:

flag valueeffect when set
fixedwrite floating-point values in fixed-point notation.
scientificwrite floating-point values in scientific notation.
hexfloatwrite floating-point values in hexadecimal format.
The value of this is the same as (fixed|scientific)
defaultfloatwrite floating-point values in default floating-point notation. This is the value by default (same as none, before any other floatfield bit is set).

For standard streams, the floatfield format flag is set to defaultfloat on initialization.

Parameters

str
Stream object whose floatfield format flag is affected.
Because this function is a manipulator, it is designed to be used alone with no arguments in conjunction with the insertion (<<) and extraction (>>) operations on streams (see example below).

Return Value

Argument str.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// hexfloat floatfield
#include <iostream>     // std::cout, std::hexfloat, std::defaultfloat

int main () {
  double a = 3.1415926534;
  double b = 2006.0;
  double c = 1.0e-10;

  std::cout.precision(5);

  std::cout << "hexfloat:\n" << std::hexfloat;
  std::cout << a << '\n' << b << '\n' << c << '\n';

  std::cout << '\n';

  std::cout << "defaultfloat:\n" << std::defaultfloat;
  std::cout << a << '\n' << b << '\n' << c << '\n';

  return 0;
}

Possible output:
hexfloat:
0x1.921fb5p+1
0x1.f58000p+10
0x1.b7cdfep-34

defaultfloat:
3.14159
2006
1e-010


Data races

Modifies str. Concurrent access to the same stream object may cause data races.

Exception safety

Basic guarantee: if an exception is thrown, str is in a valid state.

See also