C++ - 从控制台获取字节

C++ - Getting Byte from Console

我是 C++ 新手,有 C#/Java 背景,我觉得自己有点被宠坏了。

我在这里想要实现的是使用 cin.

将用户输入的数据作为字节 (unsigned char)
#include <iostream>

using namespace std;

typedef unsigned char byte;

int main()
{
    byte num = 0;
    char exitKey = '0';

    cout << "Type in a number between 0 and 255.\n";
    cin >> num;

    cout << "\nYour number multiplied by 2 is:\n" << (num * 2);
    cin >> exitKey;

    return 0;
}

返回的值是我输入的字符的ASCII十进制值。我怎样才能得到实际值,把这个值当作一个数字?

感谢您的帮助。谢谢

因为您在这里使用的是 char 数据类型。此处输入的 1 值被视为字符,存储 1 (49) 的 ASCII 值并打印 49 * 2 = 98。 而不是 char 使用 int 作为数据类型。

无论您使用什么类型别名,当使用 cin >> 读取时,一个字符始终是一个字符,并且将被读取为一个字符。

您得到的值是字符 '1'ASCII 代码。

如果您想将其作为数字读取,请使用适当的数字数据类型,例如 int