我正在編寫一個程序,它需要兩個十六進制數字並將它們轉換爲十進制形式,並以十進制形式打印出它們的總和。數字的最大長度是10. {submit.cs.ucsb.edu/submission/203504}。我對錯誤信息感到困惑。這個問題希望號碼的最大長度爲10。爲什麼像「ffffffffff」輸出工作在C++中添加兩個十六進制數字
#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;
}
號是一個數字。十六進制或10進制只是表示它的一種方式。對我來說,decimalToHex操作毫無意義。看看http://stackoverflow.com/questions/1070497/c-convert-hex-string-to-signed-integer。最後以十六進制格式打印std :: cout << std :: hex << decimal << end並記住。數字是數字。十六進制或十進制只是表示它的方式。 – Mquinteiro
花一些時間測試你的代碼和谷歌搜索。 –
@Mquinteiro:如果我想設置數字的最大長度爲10,那麼我使用if語句,但我只得到部分功勞。你能幫我看看嗎? submit.cs.ucsb.edu/submission/203493 –