Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Floating point 24位浮点指数_Floating Point_Exponent - Fatal编程技术网

Floating point 24位浮点指数

Floating point 24位浮点指数,floating-point,exponent,Floating Point,Exponent,因此,在24位浮点的上下文中,我有一个问题: 如果我想通过对指数使用更多或更少的位来修改浮点。例如,我可能想用9位表示指数,15位表示尾数。如果我想使用表示172810和19174410的单一格式,有多少个指数位最合适 对于172810,二进制表示为11011000000,因此我的指数为138(10+128),因此我想使用8位来表示指数138(10001010)?您正在应用循环逻辑。指数10存储为10+128,因为128=2^7,是8位指数字段范围的一半。如果使用5位指数字段,则可以存储指数-1

因此,在24位浮点的上下文中,我有一个问题:

如果我想通过对指数使用更多或更少的位来修改浮点。例如,我可能想用9位表示指数,15位表示尾数。如果我想使用表示172810和19174410的单一格式,有多少个指数位最合适


对于172810,二进制表示为11011000000,因此我的指数为138(10+128),因此我想使用8位来表示指数138(10001010)?

您正在应用循环逻辑。指数10存储为10+128,因为128=2^7,是8位指数字段范围的一半。如果使用5位指数字段,则可以存储指数-16到+16,指数10将存储为11010(26)。

您正在应用循环逻辑。指数10存储为10+128,因为128=2^7,是8位指数字段范围的一半。如果使用5位指数字段,则可以存储指数-16到+16,指数10将存储为11010(26)。

在构造非标准浮点格式时,分配给指数或有效位1的位数取决于您自己的需要。做你该做的事。指数偏差也可以选择为您服务。除了数学和逻辑的要求外,你在编故事时没有任何规则

您显示的两个数字1728和191744需要有效位中的十个显式位(存储九个),因为191744以位10111010112开始。指数(给定一个标准化为[1,2]的有效位)将是10和17,因此您需要能够在指数字段中编码八个值。但是,如果您想为无穷大/NaN保留一个指数编码,则需要九个值。因此,您的指数需要四位。(例如,您可以使用偏差为10的四位,这是不寻常但并非不可能的,因此00002表示指数10,01112表示指数17。这将使1728成为低于正常值的数字。)因此,表示1728和191744需要一个符号位、四个指数位和九个有效位,这就剩下了十个位供您按任意方式分配

自定义浮点格式通常仅对存储有用,并且仅在内存使用至关重要时才有用。在任何支持浮点的硬件上,本机浮点格式将比自定义格式的软件实现快得多。因此,通常最好将自定义格式转换为硬件支持的格式从存储器读取数据时,使用硬件格式执行所有计算(包括将中间值临时存储到存储器),并在长期存储之前转换回自定义格式



1有效位是首选项,而不是尾数。尾数是对数的(对数的小数部分),而有效位是线性的(浮点数的小数部分).

在构造非标准浮点格式时,分配给指数或有效位1的位数取决于您自己的需要。做您需要做的事。指数偏差也可以为您服务。除了数学和逻辑的要求外,在编写时没有任何规则

您显示的两个数字1728和191744需要有效位中的十个显式位(存储九个),因为191744以位10111010112开始。指数(给定一个规范化为[1,2]的有效位)将是10和17,因此您需要能够在指数字段中编码八个值。但是,如果您想为无穷大/NaN保留一个指数编码,则需要九个值。因此,您的指数需要四位。(例如,您可以使用偏差为10的四位,这是不寻常但并非不可能的,因此00002表示指数10,01112表示指数17。这将使1728成为低于正常值的数字。)因此,表示1728和191744需要一个符号位、四个指数位和九个有效位,这就剩下了十个位供您按任意方式分配

自定义浮点格式通常仅对存储有用,并且仅在内存使用至关重要时才有用。在任何支持浮点的硬件上,本机浮点格式将比自定义格式的软件实现快得多。因此,通常最好将自定义格式转换为硬件支持的格式从存储器读取数据时,使用硬件格式执行所有计算(包括将中间值临时存储到存储器),并在长期存储之前转换回自定义格式


1有效位是首选项,而不是尾数。尾数是对数(对数的小数部分),而有效位是线性的(浮点数的小数部分)