すいません、教えてください。

ファイルから16bitのPCMデータをfreadで2byteずつ読んできて、
上位ビットを bit-high(char), 下位ビットを bit-low (char)に
入れました。これを10進の -32768 〜 32767 に戻して、
すこしこねまわして、最後に再び byteに戻してファイルに
書きたいんですけどうまくいきません。

実はFortranでの数値計算が専門で、Cの知識は厨房レベル
です。ですが・・・ とうしてもなんとかしたいので教えてください。

よろしくお願いします。