C语言浮点数与整数转换问题

图片说明

哪位大佬能告诉我这种情况下输出为什么是这个?计算机内部发生了什么?

第1位表示正负,中间8位表示指数,后23位储存有效数位(有效数位是24位)。
第一位的正负号0代表正,1代表负。
中间八位共可表示2^8=256个数,指数可以是二补码;或0到255,0到126代表-127到-1,127代表零,128-255代表1-128。

计算机把你输入的值取了补码