what is the best way to deal with negative integers?

what I did is to string the integer. store each digit in an int array[40]. in case of a negative integer, the only negative digit will be the one with the highest place value.

when operating, say addition, i have to add the integer digit by digit. like doing it in paper. i got it when the integer is unsigned but im still having trouble when its signed. can you give me an idea how to tackle the negative integer arithmetic.

its just addition, subtraction and multiplication.