1 byte integer data type

c++, char, hex, int, uint8t

Solution

Not that I know of.

You could do the I/O using a wider integer type, and use range checking and casting as appropriate.

Problem

I wrote the following code: ``` #include <iostream> #include <iomanip> #include <stdint.h> using namespace std; int main() { uint8_t c; cin >> hex >> c; cout << dec << c; return 0; } ``` But when I input `c`—hex for 12—the output is also `c`. I was expecting 12. Later I learned that: `uint8_t` is usually a typedef for `unsigned char`. So it's actually reading `c` as ASCII 0x63. Is there a 1 byte integer which behaves as an integer while doing I/O and not as char?

Original source