現在XORによる計算を行っているのですが、

BOX[1]=-51(10進数)
 
これを16進数で表示すると
printf(%x,box[1]);
結果:FFFFFFCD
と表示されてしまいます。
これを16進数でCDと表示するにはどうすればよいのでしょうか?