的浮点格式
❶ 浮点数存放格式
一般是
符号+小数部分+指数
如3.1415926,符号为“+”,可以用计算机里的“1”来表示,小数部分为“.31415926”,指数部分为“1”
就是
0.31415926乘10的1次方
❷ 浮点类型说明浮float,double有什么区别啊
浮点类型说明浮float,double区别:在内存中占有的字节数不同、有效数字位数不同、数值取值范围、在程中处理速度不同
1、在内存中占有的字节数不同:
单精度浮点数在机内存占4个字节,双精度浮点数在机内存占8个字节。
2、有效数字位数不同:
单精度浮点数有效数字8位,双精度浮点数有效数字16位。
3、数值取值范围:
单精度浮点数的表示范围: -3.40E+38~3.40E+38,双精度浮点数的表示范围: -1.79E+ 308~-1.79E+308。
4、在程中处理速度不同:
一般来说, CPU处理单精度浮点数的速度比处理双精度浮点数快,如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。
❸ 解码浮点格式10101011,谢谢~
“1”是符号位,“1”为负,“0”为正;
“010”是指数域,用二进制余码算,等于-2,意味着将“.1011”的小数点向左移动两位,即为“.001011”,再用二进制算,最终结果1/8+1/32+1/64=11/64
❹ 求-25.5的浮点格式
为你这问题特意打开的软件监视的,满意不?看后边的当前值,16进制,有符号,无符号的都给你截图了,因为你的问题提问的实在太笼统。
❺ 浮点格式怎么算的
将原始数据进行整数化:
(31.125)10*(2^16)10
=(31.125)10*(65536)10
=(2039808)10
>(2039808)10 //去掉小数,保留整数部分
=(1F2000)16
=(0001 1111 0010 0000 0000 0000)2
=(000111110010000000000000)2
因为最初乘了65536,即2的16次方,所以换算成二进制时应右移16位,去掉前导零,即
(11111.11110010000000000000000)2
单精度浮点数保存的字节格式如下:
地址:+0 +1 +2 +3
内容:SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
根据IEEE浮点数的定义,将上述二进制数规格化:
(31.125)10
=(11111.0010000000000000)2
>+1.11110010000000000000 * (2^4)
符号S为负,等于1 B;
指数EEEEEEEE为4+127=131,等于10000011 B;
尾数为11110010000000000000000 B;
合成后为1 10000011 111 1001 0000 0000 0000 0000
若将上述值表示为十六进制数,则为(C1 F9 00 00)16。
❻ 用规格化的浮点格式表示十进制322.8125
将十进制数转化成规格化浮点数:一个规格化的32位浮点数x的真值表示为:x=(-1)ˇS×(1.M)×2ˇ(E-127) e=E-127,其中回S是浮点数答的符号位,占1位。M是尾数,放在低位部分,占用23位,小数点位置放在尾数域最左(最高)有效位的右边。E是阶码,占用8位。它的尾数域所表示的值是1.M。e为实际指数。因为规格化浮点数的尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。 64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023.因此规格化的64位浮点数x的真值为 x=(-1)ˇS×(1.M)×2ˇ(E-1023) e=E-1023 格式化浮点数简介:格式化浮点数又称格式化输出,是指把一个浮点数按指定的格式进行转换。通常在报表统计展示、数据计算存储时需要格式化,常用的格式化函数有:format,cast等。
❼ 浮点运算的格式
单精度:_31_30________23_22___________0
符号 指数 有效数
双精度:_63_62__________52_51__________________0
符号 指数 有效数
扩展精度数: _79_78____________64_63___________________0
符号 指数 有效数
例子:
C377999A var1 dd -247.6
40000000 var2 dd 2.0
486F4200 var3 real4 2.45e+5
4059100000000000 var4 dq 100.25
3F543BF727136A40 var5 real8 0.00123
C377999A var1 dd -247.6
40000000 var2 dd 2.0
486F4200 var3 real4 2.45e+5
4059100000000000 var4 dq 100.25
3F543BF727136A40 var5 real8 0.001235
400487F34D6A161E4F76 var6 real10 33.9876
DD和real4都可以在asm中来定义单精度浮点数,4 bytes
DQ和real8都可以在asm中来定义双精度浮点数,8 bytes
DT和real10都可以在asm中来定义扩展精度浮点数,10 bytes
❽ 浮点数表示格式
浮点数是属于有理数中某特定子集的数的数字表示。
在计算机中用以近似表示任意某个实数。
具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到。
Single(单精度浮点型)变量存储为 IEEE 32 位(4
个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到
3.402823E38。
在内存以32位二进制形式存在:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
第1位为符号位
第2-9位为阶码位
第10-32位为2进制小数尾值
即F2 ^ n * 1. XXXXXXX XXXXXXXX XXXXXXXX
其中
F为正号或负号(首为为0正数,首位为1负数
n为2-9位组成的BYTE数据值
XXXXXXX XXXXXXXX XXXXXXXX为尾数
Double(双精度浮点型)变量存储为 IEEE 64 位(8
个字节)浮点数值的形式,它的范围在负数的时候是从 -1.79769313486232E308 到 -4.94065645841247E-324,而正数的时候是从
4.94065645841247E-324 到 1.79769313486232E308
在内存以64位二进制形式存在:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
第1位为符号位
第2-12位为阶码位
第13-64位为2进制小数尾值
即F2 ^ n * 1. XXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
其中
F为正号或负号(首为为0正数,首位为1负数
n为2-12位组成的BYTE数据值
XXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX为尾数
参考我的博文:http://blog.csdn.net/zdingyun/article/details/2528026
❾ c语言中对于浮点型格式可以用什么形式的附加格式说明小数的宽度和小数位数
数的总占位宽度w和小数位数d, 可以用常数 给定, 例如:%12.4f , 这里 宽度12个字符,小数点下4个字符。
也可以用 星号 替代,具体的宽度和小数点下的位数用参数给入。
例如:
#include <stdio.h>
int main()
{
double x = -987.4321; // 要输出的浮点数
int w[3]={12,10,-12}; // 总占位宽度有三种
int i,j;
printf("%12.4f\n",x); // 用常数给定,宽12,小数点下4位
printf("\n");
for (j=0;j<3;j++){
for (i=5;i>=0;i--) printf("%*.*f\n",w[j],i,x);
//三种宽度,小数点下分别是5,4,3,2,1,0 位。
printf("\n");
};
return 0;
}
❿ 浮点数格式是什么
为便于软件的移植,浮点数的表示格式应该有统一标准(定义)。1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754标准。该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据原码的规格化方法,最高数字位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的一位。实数 的IEEE754标准的浮点数格式为:
具体有三种形式:
IEEE754三种浮点数的格式参数
类型 存储位数 偏移值
数符(s) 阶码(E) 尾数(M) 总位数 十六进制 十进制
短实数(Single,Float) 1位 8位 23位 32位 0x7FH +127
长实数(Double) 1位 11 位 52位 64位 0x3FFH +1023
临时实数(延伸双精确度,不常用) 1位 15位 64位 80位 0x3FFFH +16383
对于阶码为0或为255(2047)的情况,IEEE有特殊的规定:
如果 E 是0 并且 M 是0,这个数±0(和符号位相关) 如果 E = 2