一個無符號整數如何使用uint8_t和初始化變量如何初始化uint8_t
#include<iostream>
using namespace std;
int main()
{
uint8_t a = 6;
cout << a;
return 1;
}
在打印一些符號
一個無符號整數如何使用uint8_t和初始化變量如何初始化uint8_t
#include<iostream>
using namespace std;
int main()
{
uint8_t a = 6;
cout << a;
return 1;
}
在打印一些符號
C++把uint8_t
爲char
- 因爲這幾乎是它是什麼。
如果傳遞一個char
到cout
,它會打印爲char
,其中,有6個值,是ACK標誌(這可能會顯示奇怪的是,這取決於你的終端設置)。
如果你希望它被打印爲一個數字,它轉換成一unsigned
在cout
應該做的伎倆:
cout << (unsigned)a;
你可以用好老型不安全printf
。
#include <cstdint>
#include <cstdio>
int main()
{
std::uint8_t a = 6;
std::printf("%d\n", a);
}
,就可以把變量一個以打印爲一個數字,而不是一個ASCII符號
#include<iostream>
#include <cstdint>
int main()
{
uint8_t a = 6;
std::cout << "a: " << a << std::endl;
std::cout << "a casted to char(is the same type actually): " << char(a) << std::endl;
std::cout << "a casted to int: " << int(a) << std::endl;
getchar();
return 0;
}
[爲什麼性病的可能重複::(我)ostream的治療無/有符號字符作爲文本,而不是一個整數?](http://stackoverflow.com/questions/36843616/why-stdiostream-treat-signed-unsigned-char-as-a-text-and-not-an-integer) – InternetAussie
uint8_t只是一個無符號的字符,所以它打印爲字符,'static_cast'它打印時uint16_t如果你想看到一個數字istead of符號 – kreuzerkrieg