《程序员教程(第三版)》学习笔记——04.机器数的运算

本文介绍了机器数的运算,包括原码和补码的加减法,强调了补码运算在计算机中的重要性。补码加法遵循[X+Y]补=[X]补+[Y]补的法则,而减法通过加法实现,即[X-Y]补=[X]补+[-Y]补。此外,讨论了溢出的判定,如双符号位判决法,当双符号位不一致时,表明发生了溢出。文章还预告了后续将涉及的机器数乘除运算和浮点运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.机器数的加减运算
在计算机中,可以只设置加法器,而减法运算可以转换为加法运算来实现。
  1)原码加、减法
  
原码表示的机器数进行减法运算很麻烦,在计算机中很少被采用。
  2)补码加、减法
 
①补码的加法运算法则:和的补码等于补码的和,即[X+Y]=[X]+[Y]
  ②补码减法的方法是:差的补码等于被减数的补码加上减数取负后的补码。因此,在补码表示中
     可以将减法转换为加法,即[X-Y]
=[X] +[-Y]
  ③由
[X] [-X] 的方法是: [X]的各位取反(包括符号位),末尾加1 。


3)溢出及判定
 (1)双符号位判决法。若采用两位表示符号,即00表示正好,11表示负号,则溢出时两个负号位就不
  一致了,从而可以判定发生了溢出。
  例如:正整数X=+1000001,Y=+1000011,用8位补码表示
[X] =00 1000001 ,[Y] =00 1000011,
 
[X] +[Y] =01 0000100  ,结果双符号位两位不同,则发生溢出。

未完待续
2.机器数的乘除运算

3.浮点运算
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值