我愿称之为最强归纳—浮点数的规格化与进制数之间的转换

一、十进制数按照阶码用移码表示,尾数用补码表示进行规格化
(1)将十进制数转化为二进制
(2)写成1.0或者0.1*2^n的表达式
(3)阶码E(移码)=n(阶码真值)+2^m(偏移量)
(m代表阶码的位数,不包括阶符)
(4)将尾数M化成二进制表示
二、将规格化的浮点数转换成二进制真值
其中的规格化格式是数符+阶符+阶码数值+尾数数值
阶码用移码表示,尾数用补码表示
(1)现将数值转换成二进制
(2)阶码包括阶符在内的转化成十进制,然后减去偏移量
(偏移量:2的n次方,n为阶码的位数,不包括阶符)
(3)数符为0时,此时尾数的补码即原码
若为1时,则将尾数的每一位取反,最后再加1,求得原码
三、将某进制数转化成单精度浮点数IEEE 754
(1)将该进制数转成二进制表示
(2)然后将尾数化成1.···*2……^n
(3)E=n+偏移量 化成二进制
(此偏移量与普通移码不同,这里为(2^n)-1,n为不包括阶符的阶码位数)
(4)尾数表示时要省略掉最高位的1
(5)按照规定的格式写出
四、将单精度浮点数IEEE 754转化成十进制数
(1)根据最高位是0还是1判断该数的正负
(2)将阶码(包括阶符,此时将这几位数看做是无符号数计算)转换成十进制数后-127
(3)尾数即为1.原来的数

若有错误之处,敬请指正哦!

将十进制浮点数转换为16进制可以分为两个步骤: 步骤1:将十进制浮点数转换为二进制浮点数 步骤2:将二进制浮点数转换为16进制 以下是具体的步骤: 步骤1:将十进制浮点数转换为二进制浮点数 - 将浮点数的整部分转换为二进制。 - 将浮点数的小部分乘以2,将乘积的整部分作为二进制的下一位,重复此步骤直到小部分为0或达到所需的精度。 - 在二进制的小点后面添加一个“.”以表示小部分的开始。 例如,将十进制浮点数3.14转换为二进制浮点数: 3.14的整部分为3,转换为二进制为11。 0.14 x 2 = 0.28,整部分为0,转换为二进制为0。 0.28 x 2 = 0.56,整部分为0,转换为二进制为0。 0.56 x 2 = 1.12,整部分为1,转换为二进制为1。 0.12 x 2 = 0.24,整部分为0,转换为二进制为0。 0.24 x 2 = 0.48,整部分为0,转换为二进制为0。 0.48 x 2 = 0.96,整部分为0,转换为二进制为0。 0.96 x 2 = 1.92,整部分为1,转换为二进制为1。 0.92 x 2 = 1.84,整部分为1,转换为二进制为1。 0.84 x 2 = 1.68,整部分为1,转换为二进制为1。 0.68 x 2 = 1.36,整部分为1,转换为二进制为1。 0.36 x 2 = 0.72,整部分为0,转换为二进制为0。 0.72 x 2 = 1.44,整部分为1,转换为二进制为1。 0.44 x 2 = 0.88,整部分为0,转换为二进制为0。 0.88 x 2 = 1.76,整部分为1,转换为二进制为1。 0.76 x 2 = 1.52,整部分为1,转换为二进制为1。 0.52 x 2 = 1.04,整部分为1,转换为二进制为1。 0.04 x 2 = 0.08,整部分为0,转换为二进制为0。 因此,3.14的二进制浮点数为11.0010001111010111000010100011110101110000101000111101。 步骤2:将二进制浮点数转换为16进制 - 将二进制从左到右分组,每4位一组。 - 将每组二进制转换为对应的16进制。 例如,将二进制浮点数11.0010001111010111000010100011110101110000101000111101转换为16进制: 11.0010 0011 1101 0111 0001 0100 0111 0101 1100 0010 1000 1111 0101 转换为16进制为:0x3147C28F5 因此,十进制浮点数3.14的16进制表示为0x3147C28F5。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值