- 16
- 0
- 约1.26万字
- 约 35页
- 2020-01-13 发布于湖北
- 举报
* DSP是针对小数表示型式 进行优化设计的 DSP也支持整数表示型式 * 16位二进制数的表示范围 最大10进制正数 (0x7FFF) 0.999969482421875 1.999938964843750 3.999877929687500 7.999755859375000 15.999511718750000 31.999023437500000 63.998046875000000 127.996093750000000 255.992187500000000 511.984375000000000 1023.968750000000000 2047.937500000000000 4095.875000000000000 8191.750000000000000 16383.500000000000000 32767.000000000000000 最大10进制负数 (0x8000) –1.0 –2.0 –4.0 –8.0 –16.0 –32.0 –64.0 –128.0 –256.0 –512.0 –1024.0 –2048.0 –4096.0 –8192.0 –16384.0 –32768.0 最低有效位( LSB ) 为‘1’时的10进制数值 (0x0001) 0.000030517578125 0.000061035156250 0.000122070312500 0.000244140625000 0.000488281250000 0.000976562500000 0.001953125000000 0.003906250000000 0.007812500000000 0.015625000000000 0.031250000000000 0.062500000000000 0.125000000000000 0.250000000000000 0.500000000000000 1.000000000000000 格式 1.15 2.14 3.13 4.12 5.11 6.10 7.9 8.8 9.7 10.6 11.5 12.4 13.3 14.2 15.1 16.0 小数 整数 * 不同数制表示实例 +5 V -5 V 0 V 0x7FFF 0x0000 0x8000 1 2 3 4 5 格式 0x7FFF 0x3FFF 0x0000 0xCCCD 0x8000 1) 2) 3) 4) 5) 16.0 1.15 5 V 2.5 V 0 V -2.0 V -5.0 V = 32767 - = 16383 - = 0 - = -13107 - = -32768 - 0.999969482... - 0.499969482... - 0.0000000... - -0.399993986... - -1.0000000.... - 5 V 2.5 V 0 V -2.0 V -5.0 V * 有两种将16进制数转换为10进制数的方法,一种简单,一种较复杂. 复杂的方法 : 先将16进制数转换成2进制数. 确定小数点的位置. 将每一位的2进制位数值乘以其相应的位权值。 例子: 将 0x2A00( 以1.15 、2的补码格式表示)转换10进制数值 0x2A00 = 0.010 1010 0000 0000 = 2^-2 + 2^-4 + 2^-6 = 0.25 + 0.0625 + 0.015625 = 0.328125 = 0.33 = 1/3 简单的方法 : 先将16进制数直接转换成10进制数(整数—整数)。再用转换后的10进制数除以2^N,N是2进制小数点右边的位数。 例子: 将 0x2A00( 以1.15 、2的补码格式表示)转换10进制数值 0x2A00 = 10752 / 2^15 = 10752 / 32768 = 0.328125 16进制(1.15 格式)到10进制转换 * 有两种将10进制数转换为16进制数的方法,一种简单,一种较复杂. 复杂的方法: 将10进制数用其2^N 的型式表示出来。 例子: 将0.8125转换成以1.15、 2的补码表示的
原创力文档

文档评论(0)