ぐぐったら、
符号付き整数型A ⇒ 符号無し整数型B
・Aが負
 Aの型サイズ ≦ Bの型サイズ : A + (Bの型の表現しうる最大値+1)
 Aの型サイズ > Bの型サイズ : (Bの型の表現しうる最大値+1) - (-A値 % (Bの型の表現しうる最大値+1))

ってのがあった。
未定義になるのは、
浮動小数点型 ⇒ 汎整数型
小数部は捨てられます。
整数部の値が汎整数型で表現できない場合は、その動作は未定義となります。

となっていたが、まちがっているのか?まじよくわからん。