Character Arrays

Lab #1

 

1.     Write a program that reads in two hexadecimal numbers from a file, hex.dat, and prints out the sum of the two numbers in hexadecimal. (As noted in class, first do this without using a file and by reading using the cin>> command)

From Wikipedia:  “In mathematics and computer science, hexadecimal (also base 16, or hex) is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F (or alternatively af) to represent values ten to fifteen. For example, the hexadecimal number 2AF3 is equal, in decimal, to (2 × 163) + (10 × 162) + (15 × 161) + (3 ×     160), or 10,995.”

For example, if the file contains:

45AF

12B3

 

your program will output (if you output the result in decimal):

 

           The decimal sum of 45AF and 12B3 is 22626.

 

     (To check your results, you can go to a hexadecimal calculator on the web.  For example, http://www.csgnetwork.com/hexaddsubcalc.html )

 

           To solve this problem:

 

a)    read the hexadecimal numbers as character arrays

b)    convert the character arrays to numbers (by calling a function that takes the character array as a parameter, and returns an integer)

c)     add the numbers to get a decimal sum

d)    EXTRA CREDIT:    convert the sum to hexadecimal (by calling a function that fills a character array)

 

 

2.     Assume that your file has an unknown number of hexadecimals.  Change your program so that it prints the sum of all the numbers in the file.