consider a base-16 adder. explain how to modify the adder so that it can perform a base-10 addition
I found this when I searched in Google but not understand

please guide me to understand this question so that I can solve it
consider a base-16 adder. explain how to modify the adder so that it can perform a base-10 addition
I found this when I searched in Google but not understand

please guide me to understand this question so that I can solve it
Lets consider the case of a single digit addition: you have two base-$16$ numbers $x$ and $y$ ($4$ bits each) and want to produce $z = x+y$. Note that for $z$ we will allow $8$ bits (two base-$16$ digits) as we may have a carryover by the addition and we will need to store it somewhere.
Lets see how the base-$16$ adder works, through an example: $$ \begin{array}{rlcccl} &x& & 0011 & (3)_{16}\\ +&y& & 0100 & (4)_{16}\\ =&z& 0000 & 0111 & (7)_{16} & [0, 7]_{\text{BCD}} \end{array} $$ In this case, we added $3$ and $4$ and produced number $7$. There was no carryover and $z$ effectively can be stored in a single base-$16$ digit. The important thing to realize is that the base-$16$ representation of $z$ is also good to go as a BCD representation: the left most digit is $0000$ ($=(0)_{10}$)and the right most is $0111 = (7)_{10}$. So no modification is needed: all that changes is how you read the output.
The problem is that each base-$16$ digit can store a value up to $15$ which is larger than $9$, which in turn is the largest value for a digit in the BCD representation. Consider the following example: $$ \begin{array}{rlccc} &x& & 0111 & (7)_{16}\\ +&y& & 0111 & (7)_{16}\\ =&z& 0000 & 1110 & (14)_{16} \end{array} $$ Now, the right-most base-$16$ digit of $z$ is $(14)_{16}$. Instead, the BCD representation should be: $$ \begin{array}{rlccc} & 0001 & 0100 & & [1, 4]_{\text{BCD}}. \end{array} $$ So from the digit holding the value $(14)_{16}$, we would have to go to a digit holding the value $(4)_{16}$ and get a carryover to put in the left most digit. This can be done by adding $(6)_{16}$ to $z$: $$ \begin{array}{rlcccl} &z& 0000 & 1110 & (14)_{16}\\ +&6& & 0110 & (6)_{16}\\ =&z^{'}& 0001 & 0100 & (20)_{16} & [1, 4]_{\text{BCD}} \end{array} $$
The general rule is the following: If the sum produced by the base-$16$ adder is greater than $9$ then you have to add $6$ to get the correct digit and propagate the carryover.
I will conclude with one more example to clarify something: $$ \begin{array}{rlccc} &x& & 1000& (8)_{16}\\ +&y& & 1000 & (8)_{16}\\ =&z& 0001 & 0000 & (16)_{16} \end{array} $$ The left-most digit of $z$ is $0000 = (0)_{16}$ which is smaller than $9$. But the sum is equal to $16$ (we have a carryover). So the sum is greater than $9$. So we have to add $6$ to get the right BCD representation. Indeed: $$ \begin{array}{rlcccl} &z& 0001 & 0000 & (16)_{16}\\ +&6& & 0110 & (6)_{16}\\ =&z^{'}& 0001 & 0110 & (22)_{16} & [1, 6]_{\text{BCD}}. \end{array} $$ Hope this helps.