如何初始化无符号整数uint8_t

时间:2017-04-23 07:18:12

标签: c++

如何使用uint8_t并初始化变量

#include<iostream>
using namespace std;
int main()
{
    uint8_t a = 6;
    cout << a;
    return 1;
}  

正在打印一些符号

3 个答案:

答案 0 :(得分:3)

C ++将uint8_t视为char - 因为它几乎就是它。

如果您将char传递给cout,它将打印为char,其值为6,即ACK符号(可能会显示)奇怪的是,取决于你的终端设置)。

如果您希望将其打印为数字,则将其投放到unsigned中的cout应该可以解决问题:

cout << (unsigned)a;

答案 1 :(得分:0)

您可以投射变量 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;
}

答案 2 :(得分:-1)

您可以使用旧的类型不安全printf

#include <cstdint>
#include <cstdio>

int main()
{
    std::uint8_t a = 6;
    std::printf("%d\n", a);
}