FREEBSD(32bit)のC言語で以下の問題わかる方お願いします。

(1)int型変数の下位8bitをゼロ拡張して32bitにせよ
(2)int型変数の下位8bitを符号拡張して32bitにせよ
(3)int型変数の下位16bitをゼロ拡張して32bitにせよ
(4)int型変数の下位16bitを符号拡張して32bitにせよ
(5)int型変数を符号拡張して拡張部分を別のint型変数に入れ、2変数で合計64bitにせよ

ただし、
if文等での条件判断を用いてはいけない
一時変数を使わず与えられた変数だけで処理すること
ステートメント数の少ないプログラムを最適な解答とする

----
できれば今週末までにお願いします。