C言語なら俺に聞け(入門編)Part 112

このエントリーをはてなブックマークに追加
276デフォルトの名無しさん
1.16Xnビットの符号なし整数を,16ビットの符号なし整数n個の配列を
使ってあらわすことを考える.配列の要素の添字0を最下位16ビット,添字
n−1を最上位16ビットとする.
2つの16Xnビットの符号なし整数が,配列aと配列bに格納されているとき,
この2つの符号なし整数の和を計算して配列cに格納したい.

たとえば,n=3の場合,16進表示で下記のような計算を行いたい.
85ac 8001 e4f3 + af54 b345 0c8e = 3501 3346 f181
-------------- -------------- --------------
a b c
なお,aの85acが最上位(つまり,添え字2に対応),8001は添え字1に対応,
e4f3は添え字0に対応している.
この場合,最上位から1が桁上がりとなる.

整数n,配列a,b,cを引数とし,最上位の桁上がりを返す関数addを作成せよ.
ただし,
16ビット符号なし整数 = unsigned short
32ビット符号なし整数 = unsigned int
とする.