
王老师为您分享以下优质知识
二进制浮点数的表达主要采用 科学计数法形式,通过符号位、指数位和尾数位三部分组合实现。以下是具体说明:
一、基本结构
符号位(Sign Bit)
用1位二进制表示正负号,0代表正数,1代表负数。
指数位(Exponent Bit)
表示小数点移动的位数,采用 偏移表示法。例如,单精度浮点数(32位)的指数位为8位,实际存储范围为-126到127(即0x7FF到0x800)。
尾数位(Mantissa Bit)
存储小数部分,采用 隐含1的定点表示法,即尾数范围为1.0到2.0之间。例如,尾数0.1表示为1.0×2⁻¹,尾数1.1表示为1.0×2⁰。
二、示例说明
以十进制数 123.456为例,转换为二进制浮点数的过程如下:
分解为整数和小数部分
- 整数部分:123 → 1111011₂
- 尾数部分:0.456 → 0.0101100110011001₂(截断或按需取舍)。
转换为科学计数法
- 表示为:1.111011 × 2⁶
- 符号位:0(正数)
- 指数位:6 → 0110₂
- 尾数位:1.111011 → 1011011₂(去掉隐含的1)。
组合成二进制浮点数
- 32位float:0 0110 1011011001100110011001000000
- 64位double:0 0110 10110110011001100110010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000