c++ - c++中两个十六进制数的相加

标签 c++

我正在编写一个程序,它接受两个十六进制数并将它们转换为十进制形式,然后以十进制形式打印出它们的和。数字的最大长度为 10。{submit.cs.ucsb.edu/submission/203504}。我对错误消息感到困惑。问题是数字的最大长度是 10。为什么像“ffffffffff”这样的输出有效

#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;

关于c++ - c++中两个十六进制数的相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38545022/

相关文章:

C++:虚拟指针的原型(prototype)

c++ - 模板中无限量的泛型类型?

C++ 事件系统——使用基于堆或栈的事件

c++ - 使用 libsocketcan 从用户空间启动/停止 CAN 板

c++ - 作为 C++ 类的 Python 解释器

c++ - OpenMP 程序分析与英特尔 VTune 放大器 : What is "kmp print storage map gtip"

c++ - 构建此数据结构的最佳方法

c++ - 为什么 C++17 中基于范围的 'for' 循环规范发生变化?

c++ - 如何将 Eigen C++ 3.2.0 在线文档归档到单个 mht 中?

C++17 operator==() 和 operator!=() 代码在 C++20 中失败