10進数→16進数に変換し、ファイルに出力するプログラムなのですが
ファイルへのヘキサ出力の方法を教えてください。
下記のようなコードを記述したのですが、例えば、「1024」という
数値を入力した場合、ファイル出力への期待する結果は、
「0x0400」なのですが、現在、「0x30343030」という形で
数字が狂ってしまうのです。(1→31という風に扱われています。)
何卒、ご教授ください。

[ソース]---------------
#include<stdio.h>
int main()
{
FILE *outputFile;
unsigned int a;
unsigned char Hex[256];

/* 出力ファイルオープン (バイナリ出力 上書きモード) */
outputFile = fopen( "aaa.txt", "wb+" );
/* 変換対象の数字 */
a = 1024;
/* ヘキサに変換し、文字列で受ける */
sprintf( Hex, "%02X", a );
/* ファイル出力 */
fprintf( outputFile, "%s", Hex );
fclose( outputFile );
return 0;
}