C语言数据类型浮点型

本文介绍了C语言中浮点数的存储方式,包括原反补码的转换、浮点数的32位结构(符号位、阶码、尾数),并举例说明了浮点数8.25在计算机内的表示,以及浮点数常用的科学计数法表示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

C语言数据类型浮点型

**

写博文打卡第二波。今天记下C语言的浮点数据类型。
浮点数据类型:单精度(float)和双精度(double)。两者的原理是一样的。

1. 第一步:如何求解原码、反码、补码
我们以8位计算。
正数的原反补都是一样的,所以只要把十进制转成二进制就行。
如:68 =>
128 64 32 16 8 4 2 1
0 1 0 0 0 1 0 0
通过相减比较【逐一跟64,32…这些数比较,大于相减填1;小于填0,直到结束】的方式得到:01000100

负数:
反码 = 除符号位,其余取反
补码 = 反码+1
如:-45
128 64 32 16 8 4  2 1 【128的位置是符号位,无需 比较】
 1    0    1   0  1  1 0 1     原码
 1     1   0   1  0  0 1 0     反码
 1     1   0    1  0 0  1 1    补码  

如:-127
128 64 32 16 8 4 2 1
1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1
-128 的补码这么暂时不进行深究。

2、第二步:了解浮点数在计算机中的存储方式
float 型:4个字节,即有32位。
浮点数的存储方式:符号位 1位+ 阶码[指数位] 8位+ 尾数23位;
//尾数域的最高有效位总是1,由此,该标准约定这一位不予存储,而是认为隐藏在小数点的左边,因此,尾数域所表示的值是1.M(实际存储的是M),
//这样可使尾数的表示范围比实际存储多一位 24(wei)

//==十进制小数转成二进制小数==
//如173.8125

//(173)10  =>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值