如何将2703.625(10进制)转换为IEEE 754的32位单精度浮点格式?

如题所述

整数部分:\x0d\x0a采用除基取余法,基数为16,\x0d\x0a2703/16,商168,余15,即F\x0d\x0a168/16,商10,余8\x0d\x0a10/16,商0,余10,即A\x0d\x0a从上到下依次是个位、十位、百位,\x0d\x0a所以,最终结果为(A8F)16。\x0d\x0a(2703)10=(A8F)16=(1010 1000 1111)2\x0d\x0a\x0d\x0a小数部分\x0d\x0a0.625×2=1.25,取1\x0d\x0a0.25×2=0.5,取0\x0d\x0a0.5×2=1,取1\x0d\x0a(0.625)10=(0.101)2 \x0d\x0a\x0d\x0a(2703.625)10\x0d\x0a=(2703)10+(0.625)10 \x0d\x0a=(1010 1000 1111)2+(0.101)2\x0d\x0a=(1010 1000 1111.101)2\x0d\x0a\x0d\x0a单精度浮点数保存的字节格式如下:\x0d\x0a地址:+0 +1 +2 +3\x0d\x0a内容:SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM\x0d\x0a\x0d\x0a根据IEEE浮点数的定义,将上述二进制数规格化:\x0d\x0a(2703.625)10\x0d\x0a>(101010001111.101)2\x0d\x0a>+1.01010001111101 * (2^11)\x0d\x0a\x0d\x0a符号S为正,等于0 B;\x0d\x0a指数EEEEEEEE为11+127=138,等于10001010 B;\x0d\x0a尾数为01010001111101000000000 B;\x0d\x0a合成后为\x0d\x0a0 10001010 010 1000 1111 1010 0000 0000\x0d\x0a\x0d\x0a若将上述值表示为十六进制数,则为(45 28 FA 00)16。
温馨提示:答案为网友推荐,仅供参考