Napisałem następujący kod:1 bajt typ danych Integer
#include <iostream>
#include <iomanip>
#include <stdint.h>
using namespace std;
int main()
{
uint8_t c;
cin >> hex >> c;
cout << dec << c;
return 0;
}
ale kiedy wejście c
— hex do 12 — wyjście jest również c
. Spodziewałem 12. Później dowiedziałem się, że:
uint8_t
jest zwykle typedef dlaunsigned char
. Tak naprawdę to czytac
jako ASCII 0x63.
Czy istnieje 1-bajtowa liczba całkowita, która zachowuje się jako liczba całkowita podczas wykonywania operacji we/wy, a nie jako znak?
No nie ma, co jest wstyd –