Pharmaceutical的同学们都看过来,关于补码运算的复习相关内容
虽然是全英文的课程,这次总结内容不用英文了。
一般在计算机原理中,对两个操作数进行运算会使用C作为进位的标志位,而V作为溢出的标志位。
一般我们学完计算机原理,都知道正数的原码反码补码都一样,而问题都在负数上。负数的反码是原码的除去符号位之外各个位上取反,而负数补码则是除去符号位之外对原码各个位取反再加1。减去一个数等于加上对应的补码。
而溢出情况的判断可使用两种方法:
1 单符号位表示法
两相同符号数相加,结果符号(符号位有进位将1丢掉)与被加数相同,否则为溢出
2 双符号位表示法
00表示运算结果为正数;
01表示运算结果正溢出;
10表示运算结果负溢出;
11表示运算结果为负数。
描述了一堆抽象的东西,不如举例。-3加上-4,如下:
1111 1101
+ 1111 1100
-------------------------------
11111 1001(补码形式)
再变成原码,即-7
不知道期末是否会考补码的乘法和除法。不管怎样,这里列一下补码乘除法方法:
补码乘法:
x*y = -(-x*y)
举例-3,-9
101 * 011 = -(011 * 011) = -(01001) = 10111
或者直接让符号位参与运算:
补码除法
第一步:被除数如果和除数同号,则被除数减去除数;如果异号则加上除数;
第n步(n大于1):余数和除数同号,商1,余数左移一位减去除数;若异号,则商0,余数左移一位加上除数。
祝大家考试顺利取得好成绩
己所不欲勿施于人;练兵先练将
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
2015-12-05 12月5日笔记