跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
GSXAB的知识库
搜索
搜索
外观
登录
个人工具
登录
Advertising:
查看“︁定点数”︁的源代码
页面
讨论
简体中文
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
刷新
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
←
定点数
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[分类:数字编码]] [[分类:数据类型]] {{InfoBox |name=定点数 |eng_name=fixed-point number }} {{InfoBox |name=定点整数 |eng_name=fixed-point integer }} {{InfoBox |name=定点小数 |eng_name=fixed-point fraction }} '''定点数'''('''fixed-point number''')是一类计算机内的数的表示方法([[机器数]])的统称。根据语境不同有三种层次含义。字面上地,约定固定的[[十进制]]或[[二进制]]的小数点位置;也指,通过固定小数点位置的方式,使要表示的数可以表示为[[整数]];也广义地指,约定固定的缩放因子,使要表示的数可以表示为整数。前一种情况也可以看成缩放因子固定为 [[10 的幂]]或 [[2 的幂]]的后一种情况,即进行“十进制缩放”与“二进制缩放”。 '''定点型'''('''fixed-point type''')指以第三种含义所述的,固定缩放因子的方式保存一个定点数的[[数据类型]]。 例如,如果原数据表达的是以元为单位的商品单价,也就是说所有的数最多只会有小数点后两位。如果我们约定所有的小数点都被移动两位,或者说约定缩放因子为 1/100 ,就可以使用整数精确地表达原数据。 特别地,在缩放因子为 1 时,这一表示被称为'''定点整数''';而缩放因子取整数时,无论其整数部分任意变化,真值都是整数,也称为(广义的)'''定点整数'''('''fixed-point integer''')。 与其相对的情况,缩放因子不是整数时,称为'''定点小数'''('''fixed-point decimal''')。 <blockquote> 需要注意,由于“[[定点数]] / fixed-point”一词根据常出现的语境不同,使用的通常定义有差别,其中定点整数和 fixed-point integer 的指代范围也随之存在差异。 考虑到三个短语有相同的字面含义和核心范围,且都和[[浮点数]]相对,本 wiki 中将其合入同一条目。 在中文语境中,“定点数”更经常出现在计算机体系结构和硬件设计相关的知识上下文中。 在这种情况下会严格采取第一种含义,且约定的位置也不是随便的,一般要求只能用于形容定点整数和定点小数, 其中“定点整数”也会严格指小数点就在最后一位数后的格式,也就是最常见的硬件整数表示形式。 在英文语境中,“fixed-point”更多地出现在算法、数值计算、财务计算应用等场景下,这些情况会采取后一种解释,也就是带缩放因子的整数,而定点整数也会使用广义的范围,指整数缩放因子的定点数。 </blockquote> == 定义 == '''定点数'''('''fixed-point number''')是一类实数表示法,其将二进制下或十进制下小数点固定于某一位置,并存储一个整数 <math>I</math> 。形式上,固定小数点位置相当于在整数基础上乘以一个数,称为缩放因子 <math>S</math> 。此时整数 <math>I</math> 所表示的真值为 <math>V= IS</math> 。'''定点型'''('''fixed-point type''')指以某种固定的缩放因子存放定点数的数据类型。 注意:通常可以混用'''定点数'''和'''定点型'''两个词。绝大多数情况下,包括指代某个具体类型时,也可以直接使用'''定点数'''代替'''定点型''',实际中很少使用'''定点型'''一词。 === 定点整数 === 常见的整数表示,可以认为是约定小数点在最后一位后,或者说缩放因子 <math>S=1</math> ,也视为一种定点数,此时称为'''定点整数'''。 由于其无小数部分,也被称为'''定点纯整数'''。 === 广义定点整数 === 对 <math>S>1</math> 的整数,所有的整数代表的真值都是一个缩放后的整数,此时也称为(广义的)定点整数('''fixed-point integer''')或缩放整数(scaled integer)。 通常 <math>S=2^k,k>0</math> 或 <math>S=10^k,k>0</math> 。 === 定点小数 === 考虑机器数存在表示范围,也就是用一些位数代替不同的数值。其中存在一个特殊格式,小数点位置固定在最高数值位左侧(也就是在数值位之前,符号位之后),则这个数的真值总是一个没有整数部分的[[纯小数]],称为'''定点小数'''或'''定点纯小数'''。 === 广义定点小数 === 其他情况, <math>S</math> 不是整数或者 <math>S<1</math> 时,称为(广义的)定点小数('''fixed-point decimal''')。 通常 <math>S=2^k,k\in\mathbb{Z}</math> 或 <math>S=10^k,k\in\mathbb{Z}</math> 。 === Q 格式 === 考虑全体表示范围,一般约定定点数表示时小数点左右侧分别的位数,这种表达称为 [[Q 格式]]。 == 相关计算 == 定点数可以直接当作整数进行加减法。进行乘除等其他运算时,需要额外考虑缩放因子带来的影响。 {{数的编码}}
返回
定点数
。
Advertising: