c++中两个十六进制数字的相加
The addition of two hexadecimal numerals in c++
我正在编写一个程序,该程序将两个十六进制数转换为十进制,并以十进制形式打印出它们的和。这些数字的最大长度为10。{submit.cs.ucsb.edu/submite/203504}。我对错误消息感到困惑。问题是数字的最大长度是10。为什么像"ffffffff"这样的输出工作
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
int hexToDecimal(string);
string decimalToHex(int);
int main()
{
long long hex1, hex2;
std::cout << "Enter first number:" << std::endl;
std::cin >> std::hex >> hex1;
std::cout << "Enter a second number:" << std::endl;
std::cin >> std::hex >> hex2;
if (hex1 >9999999999 || hex2 > 9999999999)
{
cout << "Addition Overflow" << endl;
}
else
{
std::cout << "The sum is "<< std::hex << hex1 + hex2 << "." << std::endl;
}
return 0;
}
有一种更简单的方法:
int hex1, hex2;
std::cout << "Enter first hex number:" << std::endl;
std::cin >> std::hex >> hex1;
std::cout << "Enter a second hex number:" << std::endl;
std::cin >> std::hex >> hex2;
std::cout << std::hex << hex1 + hex2 << std::endl;
相关文章:
- 从char阵列中提取十六进制数字
- 如何在 c++ 中将十六进制数字转换为字符
- 使用字符串格式限制十六进制数字的数量
- 从输入中找到连续十六进制数字的最大数量
- 将十六进制数字从无符号字符转换为字符串
- 从 bin 文件 -c++ 中读取十六进制数字为每个字符 2 位数字
- 重载输出运算符给出十六进制数字而不是字符串
- 将十六进制数的 char[] 转换为对应于 ASCII 表中十六进制数字的字母的 char[] 并反转
- 从包含十六进制数字的std::string或QString创建std::bitset或QBitArray
- "first-chance exception..."消息中的十六进制数字是什么意思?
- 一次打印 2 个字节的十六进制数字
- 连接两个十六进制数字
- 分析64位十六进制数字
- 在一行代码中输入2个十六进制数字和一个字符串
- 十六进制数字系统中的指针值
- 将std::字符串数字转换为十六进制数字
- 同时向QByteArray添加多个十六进制数字
- c++中两个十六进制数字的相加
- 将字节转换为两位十六进制数字
- c++编译器什么时候开始考虑在字符串转义中使用两个以上的十六进制数字?