数値の丸め誤差

unsigned int型に可逆な変換をかけてdouble型にした後にそのまま逆変換した絶対値をunsigned int型に戻したときに誤差が発生して困っていたのだが、負の値の小数第1位の四捨五入の処理で0.5を引くんじゃなくて0.5を足したらうまくいった。
やっぱり何も考えずに適当に組んでると結局手間がかかるな……。