954,483 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?

HEX Addition

0
By Mathias Van Malderen on Apr 7th, 2009 6:13 pm

I've written a program to add two hexadecimal numbers ...

Njoy !

tux4life

/**********************************
* Written by Mathias Van Malderen
**********************************/

#include <iostream>
#include <string>
#include <sstream>

using namespace std;

string dec2hex(long a);
long hex2dec(const string & hexstr);
string hexadd(const string & hex1, const string & hex2);

int main()
{
	string hex1, hex2;
	cout << endl << "Type two hex numbers: " << endl << endl;
	cout << "> First hex number: _______________\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
	cin >> hex1;
	cout << "> First hex number: _______________\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
	cin >> hex2;
	cout << endl << endl << "Sum of the two hex numbers: " << hexadd(hex1,hex2) << endl;
	return 0;
}

string hexadd(const string & hex1, const string & hex2)
{
	long n1, n2;
	n1 = hex2dec(hex1);
	n2 = hex2dec(hex2);
	return dec2hex(n1+n2);
}

string dec2hex(long i)
{
	stringstream ss;
	string s;
	hex(ss);
	uppercase(ss);
	ss << i;
	ss >> s;
	return s;
}

long hex2dec(const string & hexstr)
{
	stringstream ss;
	long i = 0;
	hex(ss);
	ss << hexstr;
	ss.clear();
	ss >> i;
	return i;
}

If you also need subtraction, multiplication and division for hexadecimal number you only have to change the sign in the return instruction of the hexadd-function from '+' to -, *, /

...

tux4life
Nearly a Posting Maven
2,350 posts since Feb 2009
Reputation Points: 2,134
Solved Threads: 243
 

You could just shove this in a class and overload the operators to do your operations, and to save time store the value as an integer till a call request the value in its HEX forum.

MosaicFuneral
Posting Virtuoso
1,691 posts since Nov 2008
Reputation Points: 888
Solved Threads: 116
 

Wow, nice advice ! :)

tux4life
Nearly a Posting Maven
2,350 posts since Feb 2009
Reputation Points: 2,134
Solved Threads: 243
 

Hi, good afternoon!!

Can I get this code in C, NOT in C++. please, I´m a newbie. and I'd like to understand the basic instructions and the logic for this Hex addition. Can you help me, please!! Thanks

alebuddy
Newbie Poster
1 post since Jan 2012
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You