gpt4 book ai didi

c++ - 如何将 char 数据类型用作数字而不是字符?

转载 作者:搜寻专家 更新时间:2023-10-31 02:16:49 24 4
gpt4 key购买 nike

当我使用 char 数据类型将两个数字相加时,我得到的是字符的 ASCII 码之和,而不是数字本身。当我在互联网上研究时,各种网站都说 char 类型确实可以用来处理一个字节的数字。但实际上,我得到的是 ASCII 值的总和。为什么会这样?下面只是一个说明问题的示例代码:

uint8_t rows,cols; //uint8_t is just a typedef for char
cin >> rows;
cout << rows + 1 << endl;

最佳答案

当人们谈论“单字节数字”时,他们谈论的是 8 位值,对于 char,范围从 -128 到 127,对于 ,范围从 0 到 255 unsigned char,也称为 octets。这些可以直接转换为更大的整数类型和 float :

char eight_bit = 122;
float floating_point = eight_bit; // = 122.0

如果您尝试将一个数字值(如 '1')转换为它所代表的数值,则有 stoi:

#include <string>

int ctoi(char c) {
std::string temp;
temp.push_back(c);
return std::stoi(temp);
}

关于c++ - 如何将 char 数据类型用作数字而不是字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36526297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com