定点数表示法
学习如何使用定点表示法来表示带有小数部分的数字。
二进制中的分数
我们已经学习了如何用二进制表示整数——正数和负数,以及如何进行二进制除法,但你可能会好奇:我们该如何表示分数?
在二进制中表示分数至关重要,因为我们在使用计算机模拟许多现实世界场景时需要处理分数。
让我们先回顾一下十进制表示非整数的方法:
对于小数点后的每一位(即单位数 位置的右侧),其值等于 。小数点后第一位的位权是 ,也就是 ;第二位是 ,也就是 ,依此类推。
因此,小数点左侧的位权按 的幂递增,而右侧则按 的幂递减。我们能否为二进制系统提出类似的方法?在二进制中表示分数有两种方法。一种是定点表示法,本课将介绍这种方法;另一种是浮点表示法,将在本章后续内容中讲解。
什么是定点表示法?
在十进制系统中,我们引入了一个符号“.”(称为基数点),用来区分哪些数字遵循 的数值体系,哪些遵循 的数值体系。
例如,即使数字 和 包含相同的数字且顺序一致,但小数点的位置不同,它们的值也完全不同。
不幸的是,即使我们在二进制中引入类似的符号(如基数点),也无法在计算机中实现。记住,二进制系统的两个状态是基于晶体管的两种工作状态。我们无法编码第三个符号。有没有解决办法?定点表示法就提供了一种方案。
从名字“定点表示法”就可以看出它的核心思想。我们仍将其明确写出:
定点表示法依赖一个预先确定的基数点。
这意味着,如果我们有一个 8 位的二进制数,并且系统已预先规定基数点位于从右往左的第二位和第三位之间,那么我们就能轻松表示分数。
在基数点位置固定的情况下,二进制数 的值将与其原始二进制值完全不同。
位权
在二进制点的右侧,各位的位权为 ,其中 是紧邻二进制点右侧的一位,向右依次递增。
例如:
使用转换工具练习
我们的定点转换工具采用一种特定的表示方式:将二进制点置于第四位和第五位之间。与二进制转换工具类似,它用黄色表示开启的位(1),用灰色表示关闭的位(0),并在方框下方显示当前对应的十进制数值。点击方框可切换该位的状态。你也可以关闭位权显示来挑战自己。使用该工具最多可以表示到 的数值。
No configuration found for ID: c399bf027359066e014d6741074fafbce05d5392787752649f1eed5816c72bbb
自测练习!
Quiz
在定点数表示中,数字 的前四位用于整数部分,后四位用于小数部分。这个二进制数表示的十进制值是多少?