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,余数左移一位加上除数。

祝大家考试顺利取得好成绩
Pharmaceutical的同学们都看过来,关于补码运算的复习相关内容的更多相关文章
- 小学生都看得懂的C语言入门(1): 基础/判别/循环
		
c基础入门, 小学生也可以都看得懂!!!! 安装一个编译器, 这方面我不太懂, 安装了DEV-C++ ,体积不大,30M左右吧, 感觉挺好用,初学者够了. 介绍下DEV 的快键键: 恢复 Ctrl+ ...
 - 月薪3万的python程序员都看了这本书
		
想必大家都看过吧 Python编程从入门到实践 全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 —— 游戏.数据可视化和 Web 应用程序,同时掌 ...
 - 一篇自己都看不懂的Matrix tree总结
		
Matrix tree定理用于连通图生成树计数,由于博主太菜看不懂定理证明,所以本篇博客不提供\(Matrix\ tree\)定理的证明内容(反正这个东西背结论就可以了是吧) 理解\(Matrix\ ...
 - 手撕redis分布式锁,隔壁张小帅都看懂了!
		
前言 上一篇老猫和小伙伴们分享了为什么要使用分布式锁以及分布式锁的实现思路原理,目前我们主要采用第三方的组件作为分布式锁的工具.上一篇运用了Mysql中的select ...for update实现了 ...
 - 在SQL Server中,为何都建议禁止 VIA 协议,VIA协议具体内容是什么?
		
在SQL Server 在SQL Server中,为何都建议禁止 VIA 协议,VIA协议具体内容是什么? 中,为何都建议禁止 VIA 协议,VIA协议具体内容是什么? 在SQL Server中,为何 ...
 - 对于挑战书上的很久之前都看不懂的DP看懂的突破
		
突破一..牢记问题概念 并且牢记dp状态方程 突破二..一直有一个求和dp转化成O1dp递推的式子看不懂.. 看不懂的原因是..没有分清求和符号作用的范围 提醒:以后遇到求和符号一定明确其求和的式子的 ...
 - 胖虎都看得懂的CSS入门
		
CSS入门 CSS是什么 摘自维基百科 层叠样式表(英语:Cascading Style Sheets,简写CSS),又称串样式列表.级联样式表.串接样式表.层叠样式表.階層式樣式表,一种用来为结构化 ...
 - 一篇自己都看不懂的点分治&点分树学习笔记
		
淀粉质点分治可真是个好东西 Part A.点分治 众所周知,树上分治算法有$3$种:点分治.边分治.链分治(最后一个似乎就是树链剖分),它们名字的不同是由于分治方式的不同的.点分治,顾名思义,每一次选 ...
 - 小学生都看得懂的C语言入门(5): 指针
		
现在已经学到C语言的后面了, 快学完咯.... (一)取地址运算 先来看一下sizeof 计算所占字节 #include<stdio.h> int main() { int a; a=; ...
 
随机推荐
- SQLSERVER 链接服务器执行存储过程
			
1.创建链接服务器 exec sp_addlinkedserver 'server_tmp','','SQLOLEDB','192.168.1.1' -- server_tmp 为别名 exec sp ...
 - JavaScript设计模式学习——builder pattern(建造者模式)
			
个人理解的应用场景 举个例子,比如想要创建各种类型的车的实例,车的类型有很多种,但创建每种类型车的接口定义可能是一样的,就用到了此模式 相关概念的通俗解释 上述例子中接口的定义叫builder 接口到 ...
 - python爬虫:爬取读者某一期内容
			
学会了怎么使用os模块 #!/usr/bin/python# -*- encoding:utf-8 -*- import requestsimport osfrom bs4 import Beauti ...
 - nginx上搭建https
			
nginx上配置https的条件: 1.SSL证书和服务器私钥文件 2.nginx支持SSL模块 一.获取SSL证书 网上有提供权威认证的SSL证书的网站,但多数是收费的,而且不便宜.在正式的生产环境 ...
 - JS使用三元运算符判断三个数中最大的数
			
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
 - PAT 天梯赛练习集 L2-016. 愿天下有情人都是失散多年的兄妹
			
题目链接:https://www.patest.cn/contests/gplt/L2-016 呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母. ...
 - [LUOGU]3919 【模板】可持久化数组
			
用可持久化线段树维护可持久化数组.可持久化线段树见之前发的主席树模板 #include <iostream> #include <cstdio> #include <cs ...
 - Linux red hat 核心版下安装Nginx
			
不要安装核心版的Linux,不要安装核心版的Linux,不要安装核心版的Linux重要的事情要说3遍.心血来潮突然想在Linux下安装Nginx,但是在安装的国程中发现了很多问题.nginx 基本安装 ...
 - KMP算法题集
			
模板 caioj 1177 KMP模板 #include<bits/stdc++.h> #define REP(i, a, b) for(register int i = (a); i & ...
 - shell 脚本 helloworld
			
一.Hello World 脚本代码 #!/bin/sh echo "hello world" /bin/pwd 二.分析脚本 第 1 行:shell 脚本的固定写法 第 2 行: ...