浮点转定点

发布时间:2026/8/13 19:01:38
浮点转定点 一、浮点转定点说明1.浮点转定点的核心就说把小数乘以一个2的幂次方变成整数存储2.基本公式‌定点数 浮点数 × 2^Q然后取整截断或四舍五入3.反向转换‌浮点数 定点数 ÷ 2^Q4.关键是要先确定Q值‌也就是小数部分占多少位这决定了精度和表示范围5.比如Q15格式16位有符号数1位符号位15位小数位。浮点数0.5转定点0.5×3276816384。定点16384转浮点16384÷327680.5。二、Q格式如何定义1.先看数据范围‌最大绝对值需要多少位整数来表示。2.再看精度要求‌小数部分需要多少位才能满足误差要求。3.常用表示法‌Qm.n格式m位整数n位小数或Qn格式n位小数整数位自动算三、定点和浮点‌‌‌浮点小数点非固定的数可表示数据范围较广整数小数都可表示。包含floatdouble定点小数点固定可表示整数小数。int本质是小数点位于末尾的32位定点数而已浮点数(x)转换为定点数(xq)xq(int)x* 2Q定点数(xq)转换为浮点数(x)x(float)xq*2-QQ表示 S表示 十进制数表示范围Q15 S0.15 -1≤x≤0.9999695Q14 S1.14 -2≤x≤1.9999390Q13 S2.13 -4≤x≤3.9998779Q12 S3.12 -8≤x≤7.9997559Q11 S4.11 -16≤x≤15.9995117Q10 S5.10 -32≤x≤31.9990234Q9 S6.9 -64≤x≤63.9980469Q8 S7.8 -128≤x≤127.9960938Q7 S8.7 -256≤x≤255.9921875Q6 S9.6 -512≤x≤511.9804375Q5 S10.5 -1024≤x≤1023.96875Q4 S11.4 -2048≤x≤2047.9375Q3 S12.3 -4096≤x≤4095.875Q2 S13.2 -8192≤x≤8191.75Q1 S14.1 -16384≤x≤16383.5Q0 S15.0 -32768≤x≤32767‌‌‌四、有符号整数的加减乘除运算1.有符号整数的存储是以补码的形式进行2.有符号整数的加减乘除运算也是补码的形式进行