有符号数的加法及其溢出标志位of的判定

博客先介绍负数补码的求解方法,以-124为例,通过求绝对值原码、最高位变1及其他位取反加1得到补码。接着提及有符号数和无符号数of、cf标志位溢出判定的引用。最后通过计算示例说明有符号数和无符号数是人为规定的,不同规定下计算结果和溢出情况不同。

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

一.在讲有符号数之前先说说怎么求一个负数的补码:

求解过程:

1. 求出负数绝对值的原码

2. 将最高位变成1,其他位取反+1 可得负数得补码。

求-124的补码  --->  0111 1100 ->1000 0011->1000 0100  所以-124的补码为:1000 0100 (有符号数)

二.有符号数和无符号数of cf标志位溢出的判定

引用:https://blog.youkuaiyun.com/garybushiqiqi/article/details/80456447

三:有符号数和无符号数是人为规定的

计算:

第一种类型:00000111+11111011=1 0000 0010

若规定两数为无符号数:则7+251=2   cf=1 

若规定两数为有符号数:则+7+(-5)=2  of=0

第二种类型:10000111 +11110101 =1 0111 1100

若规定两数为无符号数:则132+245=124    cf=1

若规定两数为有符号数:则-121+(-11)=124  of=1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值