正则表达式和excess系统尾数部分❝ 「尾数部分」 使用 「正则表达式」 ,可以将表现形式多样的浮点数统一为一种表现形式。
❞
例如,十进制数0.75就有很多表现形式。
虽然他们表示的都是 「同一个数值」 ,但因为表现方法太多,计算机在处理时会比较麻烦。
因此,需要制定统一的规则:
❝十进制数的浮点数应该遵循:「小数点前面是0,小数点后面第一位不能是0」
❞
也就是说,只能用 「尾数」 部分是0.75、 「指数」 部分是0的方法来表示。即0.75 × 100
❝在二进制数中,我们规定:「将小数点前面的值固定为1的正则表达式」
❞
具体来讲,就是将二进制数表示的小数 「左移」 或 「右移」 (逻辑移位)数次后, 「整数部分」 的第一位变成1, 「第二位之后都变成0」 。
❝而且, 「第一位的1在实际的数据中不保存」 ,因此省略该部分后就可以节省一个数据位,从而可以表示更多的数据范围。
❞
我们,看一下1011.0011如何用单精度浮点数的正则表达式来表示 「尾数部分」 。
指数部分「指数部分」 中使用的是excess系统,使用这种方式主要是 「为了表示负数时不使用符号位」 。
在某些情况下,在指数部分,需要通过 「负〇〇次幂」 的形式来表示负数。
❝ 「excess系统」 表现是指,通过将指数部分表示范围的 「中间值」 设置0,使得负数不需要用符号来表示。
❞
也就是说,当 「指数部分」 是8位单精度浮点数时,最大值11111111=255的1/2,即01111111=127(小数部分舍弃)表示的是0。
我们再来一个例子说明。假设有这样一个游戏,用1~13(a~k)的扑克牌来表示负数。此时,我们把 「中间」 的7当做0。那么10表示+3,3表示-4。
单精度浮点数指数部分的excess系统表现
实际运用我们来一起看看如何用单精度浮点数来表示十进制数0.75。
「符号位」 :因为0.75是正数,所以符号位是00.75转换成二进制正则表示为1.1×2-1,按照前面介绍的就很容易知道下面的各个数值。
「指数部分」 :为-1,但是用excess表示的话,就变成了01111110。换算为十进制为126。而excess系统中,126代表-1「尾数部分」 :根据正则表达式的规则,小数点前面的第1位是1,因此 「尾数部分」 1000···实际上表示的是1.1000···二进制数和十六进制数关系在以 「位」 为单位表示数据时,使用二进制数很方便,但如果位数太多,看起来很麻烦。因此,在实际程序中,经常用 「十六进制数」 来替代 「二进制数」 。
在一些高级语言中,只需要在数值的开头加上0x就可以表示十六进制数。
❝二进制数的4位,正好相当于十六进制数的1位。
❞
由此可见,通过使用十六进制数,二进制数的位数能够 「缩短」 至原来的1/4。
用十六进制数表示二进制 「小数」 时,小数点后的二进制数的4位也同样相当于十六进制数的1位。「不够4位时用0填补二进制的低位」
广东思谷:打破国外技术垄断,啃下市场“硬骨头”推进产品国产化
Google计算平台将优化数据中心中的可再生能源使用
iPadmini5曝光 或采用TouchID实体Home键
CTLE是什么?(原理、特点及作用)
喷涂机器人将替代喷涂工人?
计算机基础知识之处理小数2
线性电源和开关电源在原理上有何区别
阿里旗下电商平台遭黑客入侵,110万账号信息泄露
AI的加持让小米成为“快过闪电”的MIUI10
全球可穿戴设备大涨 主要原因是无线耳机在疯狂增长
AMD第四季度净利润增长超3000倍,AI芯片销量超越预期
半导体市场年底或迎来衰退,巨头博弈将愈演愈烈
华为多款搭载鲲鹏主板的神州鲲泰系列产品首度正式亮相
如何制作IoT智能时钟
智能手机市场拥挤,游戏手机市场需求增大
戴尔整体安全愿景 覆盖基础架构、云、应用到设备四个层次
cems在线监测设备可监测哪些项目
英飞凌新型 LTE 低噪声放大器和 LNA Bank 让智能手机数据速率提升高达 96%
Marvell展示突破性住宅及商用LED照明解决方案
单片机按键去抖原理