java怎样才能将负的十六进制转换成浮点数

1.现在有一个接收到的十六进制数

String hex = "BF221F9D";

2.现知道需要转换成负的单精度浮点数 例:-0.123465

3.请大神赐代码!

0-Float.intBitsToFloat(new BigInteger(hex, 16).intValue());