我是C ++的新手,来自C#/ Java背景,我觉得我有点被宠坏了。
我在这里想要实现的是使用unsigned char
将用户输入的数据作为字节(cin
)。
#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十进制值。如何获取实际值,将值视为数字?
帮助表示赞赏。感谢。
答案 0 :(得分:3)
答案 1 :(得分:2)
因为你在这里使用char数据类型。此处输入的1值被视为字符,并且存储了1(49)的ASCII值,并且打印了49 * 2 = 98。 而不是char使用int作为数据类型。