真值和机器数

 在计算机中,我们使用0表示整数,使用1表示负数。
 使用01表示正负的数称之为机器数,而原来的数称之为真值。机器数就是将数的符号进行数值化的数据表现形式。
 如真值:x=+1011,y=-1011;机器数:x=01011,y=11011。
### 真值机器的区别 真值是指实际存在的值,它是一个抽象概念,在学上可以无限精确地描述某个量。而机器则是指计算机内部用来存储处理据的形式化表达方式。由于计算机硬件的限制,所有的值都需要转换成特定编码形式才能被存储计算。 例如,对于十进制中的正负号表示法,“+5” -5”的真值分别为正值五负值五,但在计算机中可能分别用二进制补码 `00000101` `11111011` 表示[^1]。这种差异体现了真值机器之间的映射关系。 --- ### 定点浮点的定义及其区别 #### 1. **定点** 定点是一种简单的值表示方法,其特点是小点的位置固定不变。根据小点位置的不同,定点分为种主要类型: - 如果小点位于最高有效位之后,则该为**纯整**; - 若小点处于最低有效位之前,则此称为**纯小**[^2]。 在具体实现过程中,程序员需预先设定好小点的具体位置以便于解释这些据的意义。因此,虽然简单易懂,但灵活性较差,无法很好地适应范围跨度较大的运算需求。 #### 2. **浮点** 相比之下,浮点提供了更大的动态范围以及更高的精度控制能力。按照国际通用的标准IEEE754规定,任何一个浮点都可以分解成为三个部分——符号S(决定整体正负),指E(反映量级大小)还有尾M(保存具体的值信息)[^3]。 以下是基于IEEE754单精度格式的一个例子展示如何构建一个典型的浮点: ```c float num = *(float*)&((unsigned int){0b0_10000000_10010010000111111011011}); // 符号位 S=0 -> 正; 阶码 E=(128-127)=1 ; 尾 M=1.+2^-2+...≈1.59375 ``` 值得注意的是,为了便于快速判断个浮点谁大谁小或者相等与否等问题的存在,往往会选择利用移码而非普通的无符号整型作为阶码的实际物理表现形式之一。 --- ### 总结对比表 | 特性 | 定点 | 浮点 | |--------------|----------------------------------|--------------------------------| | 据结构 | 整体视为单一字段 | 分割成多个独立子域 | | 范围 | 较窄 | 极宽 | | 应用场景 | 嵌入式设备、实时控制系统 | 科学计算、图形渲染 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值