第二章 计算机中数的表示

本文深入探讨计算机中数的表示,包括真值与机器数的关系、无符号数和有符号数的区分、定点数和浮点数的表示方式,如原码、反码、补码和移码。讨论了各种数的转换、浮点数的规格化、定点运算中的移位、加减运算以及溢出判别方法。还涉及到了浮点数的加减运算和乘除运算,以及C语言中的整数类型转换和浮点数处理。此外,提到了数据的大小端存储和对齐方式,以及非数值数据的表示和检错/纠错机制。
摘要由CSDN通过智能技术生成

2024年4月12日二稿

2024年8月3日

2.1 数制与编码

2.1.1 进位计数制及其相互转换

2.1.2 定点数的编码表示

 原码


 

原码表示

 

优点

①与真值的对应关系简单、直观,与真值的转换简单;

②用原码实现乘除运算比较简便。

缺点

①0的表示不唯一,有±0两个编码;

②原码加减运算比较复杂。在原码加减运算中,对于两个不同符号数的加法(或同符号数的减法),先要比较两个数的绝对值大小,然后用绝对值大的数减去绝对值小的数,最后还要为结果选择合适的符号。


原码加减运算中,将符号位和数值位分开处理,具体的规则如下。

加法规则:遵循 “同号求和,异号求差” 的原则,先判断两个操作数的符号位。具体来说,符号位相同,则数值位相加,结果符号位不变,若最高数值位相加产生进位,则发生溢出;符号位不同,则做减法,绝对值大的数减去绝对值小的数,结果符号位与绝对值大的数相同。

减法规则:先将减数的符号取反,然后将被减数与符号取反后的减数按原码加法进行运算。

反码

反码表示存在以下几个方面的不足

①0的表示不唯一(即存在±0);

②表示范围比补码少一个最小负数。反码在计算机中很少使用,通常用作数码变换的中间表示形式。

补码

变形补码

移码

比较

转换

真值转换为补码:

对于正数,与原码的方式一样。

对于负数,符号位取1,其余各位由真值“各位取反,末位加1”得到。

补码转换为真值:

若符号位为0,与原码的方式一样。

若符号位为1,真值的符号为负,数值部分各位由补码“各位取反,末位加1”得到。

2.1.3 整数的表示

2.1.4 C语言中的整数类型及类型转换

2.2 运算方法和运算电路

2.2.1 基本运算部件

2.2.2 定点数的移位运算

2.2.3 定点数的加减运算

2.2.4 定点数的乘除运算

1. 定点乘法运算

2.3 浮点数的表示与运算

2.3.1 浮点数的表示

2.3.2 浮点数的加减运算

 

 

2.3.3 C语言中的浮点数类型

2.3.4 数据的大小端和对齐存储

  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值