
计算机系统
文章平均质量分 95
计算机系统课程实验答案 / 一些编程中常见的点,位运算,比较底层的东西
AkagiSenpai
哼 ~ 哼 啊啊啊啊啊啊啊啊啊
▃▆█▇▄▖
▟◤▖ ◥█▎
◢◤ ▐ ▐▉
▗◤ ▂ ▗▖ ▕█▎
◤ ▗▅▖◥▄ ▀◣ █▊
▐ ▕▎◥▖◣◤ ◢██
█◣ ◥▅█▀ ▐██◤
▐█▙▂ ◢██◤
◥██◣ ◢▄◤
▀██▅▇▀
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
计组复习(四):cache,虚拟内存,页表与TLB
目录前言cache高速缓存直接映射全相连映射组相连映射指令缓存与数据缓存虚拟内存(重要⚠)页表缺页替换TLB例题(重要⚠)FastMath前言来到存储器章节的复(yu)习。首先引入 cache 高速缓存,来缓解高速的 cpu 和低速的内存之间的拖带关系。然后是虚拟内存机制,虚拟内存能够很好的帮助程序员避免麻烦的内存管理与冲突等问题,并且将内存作为模块化独立出来。上一篇博客回顾:计组复习(三):流水化的数据通路,流水线冒险检测与处理在去年的计系 2 课程也讲到了 cache,本篇博客只是简单提一下原创 2021-01-12 22:36:04 · 18738 阅读 · 11 评论 -
计组复习(三):流水化的数据通路,流水线冒险检测与处理
目录前言流水线思想前言昨天复(yu)习了单周期的 mips 流水线数据通路,知晓了硬件结构如何通过一系列的控制信号,完成不同指令的区别处理。然而单周期的数据通路是一种理想化的情况,因为整个指令执行的过程,占用了全部的硬件。事实上,为了效率,流水化的硬件结构在同一时刻最多被 5 个指令分享(对应 mips 的 5 个阶段),这就带来了数据一致性的问题。流水化的数据通路通过中间缓存的方式,避免了数据冲突,并且巧妙地将 5 个阶段的硬件使用,按照逻辑分隔,真正实现了流水化执行指令。墙裂推荐先阅读:原创 2021-01-12 01:05:26 · 7734 阅读 · 5 评论 -
计组复习(二):单周期数据通路与控制信号
目录前言单周期数据通路算数逻辑指令(R 型指令)取指令阶段译码阶段执行阶段内存访问阶段写回阶段下一条指令内存访问指令分支跳转指令总结(重要⚠)前言昨天复(yu)习了:计组复习(一):乘法器,除法器与浮点加法器,巩固了硬件事如何实现运算操作的。今天复习 cpu 数据通路,也是很复杂的图。一步一步来吧。唔。。。。现在是凌晨 1:42,人快芜了,所以博客内容可能会出现一些纰漏 dbq 我爬 Orz才不是打了一天 lol 导致没时间复习。还有,有没有懂哥知道男刀这版本怎么玩?出暗爪还是幕刃还是渴血?征原创 2021-01-11 01:44:25 · 9664 阅读 · 5 评论 -
计组复习(一):乘法器,除法器与浮点加法器
目录前言乘法器优化乘法器除法器优化除法器浮点加法器(重要⚠)对阶阶段加法阶段规格化阶段舍入阶段浮点加法小结前言zsbd Orz乘法器普通乘法器模拟竖式乘法的计算过程。每一行竖式都有如下操作:取 乘数(multiplier) 最低位,和 被乘数(multiplicand) 相乘。不断将被乘数左移,乘数右移,每一行的的竖式乘法结果进行累加:注:其思想是二进制拆分,比如计算:6∗5=30 6*5=30 6∗5=30那么 6 可以被二进制分解为 4 + 2,即30=4∗5+2∗5=22原创 2021-01-10 00:56:00 · 6923 阅读 · 15 评论 -
计组实验5:cache大小测量与 cache line 大小测量
前言今天做了实验5,通过 c 语言测 cache 参数。其实按理来说挺简单的,只是我们班没给代码,纯靠自己。听说别的班有给代码emm 因为《深入理解计算机系统》这本书上面给的代码是 Linux 平台下的,而且需要一个 fcyc2 头文件,可以在 https://github.com/fabiensanglard/CpuCacheMountainViewer 这里找到。⚠我没有在 Linux 下试过课本上面的代码。。。我是在 win10 下测试的。。。所以 。。。我并不确定我的代码是否正确。原创 2020-12-28 20:24:37 · 12077 阅读 · 6 评论 -
计组实验4 控制冒险与分支预测
目录前言实验内容背景知识分支预测技术⭐阻塞周期计算方法不开启 BTB开启 BTBpart 1 矩阵乘法与优化未开启 BTB 的分析开启 BTB 的分析part 2 设计代码使 BTB 无效part 3 循环展开优化矩阵乘法未开启 BTB开启 BTB结束语结论前言上一篇博客:计组实验3 mips冒险之流水线冒险摸了半个月了。。。咕咕咕 今天来写计组实验 4这个实验非常简单,就是有点难。这个实验比较容易算错,或者是被模拟器出人意料的结果搞的神神叨叨的,所以今天来记录并且详细分析该实验。注:请务必阅原创 2020-12-19 14:47:10 · 5287 阅读 · 8 评论 -
计组实验3 mips冒险之流水线冒险
目录前言流水线处理思想mips指令之五步走流水线冒险数据冒险调整指令顺序前推控制冒险结构冒险流水线冒险实验实验步骤数据冒险之调整顺序forwarding结构冒险之除法器占用实验结果总结于体会前言之前都在准备蓝桥杯,天天嗯刷leetcode,故咕了好久 。。。 蓝桥杯总结也咕了彳亍今天还是来更一下实验。这次的实验虽然操作简单,但是其背后的思想却值得回味,让我们对流水线处理的理解更进一步。流水线处理思想以洗衣服为例,假设我们有三个步骤:浸泡冲洗烘干同时我们有三台不同的设备(浸泡桶,洗衣机原创 2020-11-21 16:10:51 · 5440 阅读 · 5 评论 -
计组实验2 mips简单乘法器模拟实验
目录前言加法原理忽略溢出的乘法器溢出提示的乘法器完整代码前言上一次做了 MIPS实验1:阴间指令集MIPS简介:汇编,IO,过程调用与冒泡排序,如果对mips的IO等等操作还有不懂的可以康康。。。那么今天来记录一下计组的实验。。。本次试验分为两个部分:第一部分、用加法器设计一个不考虑溢出的乘法器;第二部分、 用加法器设计一个考虑溢出的乘法加法原理这可是连小学生都知道的啊参考竖式加法,只是进制不同。我们循环做几件事,一般32位乘法就循环32次:判断 multiplier 最末位是否为1,如果原创 2020-11-04 22:24:41 · 5096 阅读 · 2 评论 -
阴间指令集MIPS简介:汇编,IO,过程调用与冒泡排序
目录前言MIPS指令集简介MIPS资源寄存器资源内存资源MIPS指令算数指令数据传输指令逻辑指令分支跳转指令MIPS模拟器编译并且运行简单求和程序MIPS模拟器中的汇编MIPS IO操作MIPS过程调用hello world程序冒泡排序前言计系3第一个实验就是MIPS指令集写汇编。。。在计系1和2的折磨 下,我们对汇编语言有了一定的认知,但是还是难顶 。考虑到之后还有大量的实验,姑且记录一下MIPS的一些特性,操作等等,方便后续查阅。MIPS指令集简介MIPS的分类,也要按照基本法 ,按照寄存器的位原创 2020-10-27 21:09:25 · 10441 阅读 · 7 评论 -
计系2复习(4)存储:磁盘存储与cache
前言这一章节主要介绍两种存储器,磁盘和cache,其中磁盘用以存储大量静态数据,而cache是高速缓存,用于cpu快速读取数据。复习完了 摸了磁盘存储懂的都懂磁盘由多个盘片组成,而一个盘片往往有两个盘面,每个盘面又分为很多个磁道,每个磁道又分为很多个扇区。磁盘容量因为磁盘的最小划分就是扇区,知晓了每个扇区的字节个数,就知晓了磁盘的容量了。公式如下:容量 = 每扇区字节数目 * 每磁道扇区数目 * 每盘面磁道数目 * 每盘片盘面数目 * 磁盘盘片数目注:一般的话, 每盘片盘面数目 =原创 2020-09-04 19:41:37 · 2776 阅读 · 2 评论 -
计系2复习(3)链接,静态链接与动态链接
目录前言链接过程目标文件可重定位的目标文件静态链接符号解析强弱符号同名符号解析规则重定位静态库符号引用的解析机制链接顺序动态链接题目123前言链接分为静态链接和动态链接,静态链接使得不同的源文件可以互相调用,形成模块化,而动态链接则通过加载/运行时链接解决了共享库在不同应用中复制多份的浪费问题。链接过程静态链接解决了不同程序之间模块化的问题。此外,修改一个源文件,不必重新编译整个应用程序,只需要编译修改的部分,再次链接即可。例子:程序A.cpp可以调用B.cpp中的函数或者全局变量,下面通过一个简原创 2020-09-04 18:10:02 · 1821 阅读 · 3 评论 -
计系2复习(2)流程控制,栈帧调用,数据存储
目录流程控制条件码设置条件码访问条件码条件传送条件跳转循环do-whilewhileforswitch跳转栈帧调用栈帧调用与返回参数传递栈上的局部存储寄存器保存数据存储数组结构体对齐题目12345流程控制该章节主要描述x86中汇编代码如何实现流程控制,比如if,switch跳转,或者是for,while循环。条件码和LC-3中的nzp条件码类似,x86中的条件码,记录了最后一次运算操作的结果情况。下面给出常用的条件码列表:名称全称中文名为1时的意义CFCarry Fla原创 2020-09-02 18:21:40 · 2439 阅读 · 3 评论 -
计系2复习(1)数据表示与格式 寄存器与寻址 简单指令
目录数据表示整型数据无符号整型有符号整型浮点型数据规格化的浮点数非规格化的浮点数特殊值字节顺序数据格式寄存器寻址指令数据传送指令算数逻辑指令计算有效地址题目12345数据表示这一章节主要介绍计算机如何表示各种类型的数据,及其在内存中的排布规律。计系1好像也讲过整型数据整型数据分为无符号整型和有符号整型,先来看比较简单的无符号整型。无符号整型使用二进制表示。懂的都懂有符号整型有符号整型使用补码编码。其中最高位表示符号位。补码和数值有如下转换关系:正数的补码是其绝对值数字的二进制表示负数的原创 2020-09-02 00:10:49 · 2608 阅读 · 1 评论 -
计算机系统(一)期末复(yu)习(5):栈与中断
前言懒狗(指自己)复习完了(确信)。坐等挂科好了不皮了。最后一章的内容是栈与中断。先介绍栈的机制及其实现,然后介绍通过栈来实现中断。栈与LC-3中的栈栈是先进后出的数据结构,学过数据结构这门课的,懂的都懂压栈使用栈顶指针top,top始终指向最新被压栈的元素。在进行一次压栈时,有:栈指针top–压入数据到top指向的内存值得注意的是,栈指针的移动顺序是从高到低的,压栈,栈指针需要减小退栈退栈和压栈操作相仿,也是移动栈指针来实现的。值得注意的是,退栈只改变栈指针,其实数据还是在栈中原创 2020-08-31 15:07:45 · 1648 阅读 · 0 评论 -
计算机系统(一)期末复(yu)习(4):子程序与调用
目录前言TRAP指令TRAP跳转TRAP返回RET指令图解JSR与JSRR指令例子:除法简单函数题目9.29.59.179.89.12前言我是懒狗该章节复习LC-3中子程序的调用与参数保存等内容。TRAP指令使用TRAP 操作数指令调用子程序,可以跳转到操作数指向的地址。这个地址内的内容,是子程序的起始地址(即函数指针寻址找到子程序)TRAP跳转比如 TRAP x20 ,系统内存 0x0020 处放置的值是 0x1234,那么子程序开始的地址就在 0x1234值得注意的是,TRAP指令的原创 2020-08-29 18:48:41 · 3719 阅读 · 1 评论 -
计算机系统(一)期末复(yu)习(3):LC-3汇编,输入与输出
目录前言LC-3汇编汇编语法伪操作TRAP指令输入与输出输入输出寄存器输入获取机制输出机制汇编过程前言咕LC-3汇编这一章节主要介绍LC-3的汇编语言,汇编语言可以提供一些便利的操作,更重要的是,用符号替代01,程序可读性提高。汇编器:汇编器是将符号语言翻译为01的程序。除此之外,还提额外的操作支持(指库代码),可以实现数据的分配,初始化等等常见操作。汇编语法一条汇编语句包含以下几个部分:标号:表示当前语句的内存地址,汇编器会直接将其翻译为地址。操作:表示当前执行的操作,比如ADD操作原创 2020-08-27 22:44:18 · 10319 阅读 · 0 评论 -
计算机系统(一)期末复(yu)习(2):冯诺依曼模型,指令与指令周期,LC-3指令集
前言我爬冯诺依曼模型冯诺依曼模型是一种计算机架构模型,通过不同的设备组件实现复杂的可编程控制。内存内存基于门控存储电路,是一种临时存储设备,拥有读写两种操作。通过两个寄存器来实现读写:名称全名作用MARMemory Address Register对该寄存器内数字对应的内存地址进行操作MDRMemory Data Register内存操作的操作数。写时存放写的数据,读时存放读出来的数据内存读写之 - - 读操作将要读的内存地址放入 MAR发 rea原创 2020-08-27 17:28:40 · 2947 阅读 · 1 评论 -
计算机系统(一)期末复(yu)习(1):数据表示以及数字逻辑(电路)
前言来预习了。。计系1要挂力数据表示这部分比较简单,主要是数据表示,比如整型和小数整数无符号整数使用二进制。从右往左位数逐渐增高。。有符号数使用最高位表示符号,其中最高位为0表示正数最高位为1表示负数全为0表示0除此之外,有符号数通常使用补码保存,因为补码的性质,便于加减法的计算。正数的补码是其本身,负数的补码是其绝对值按位取反再+1值得注意的是,在计算加减的时候,需要将高位补齐,负数补1,正数补0,0也补0.判断是否溢出的关键,可以从符号入手:两个正数相加得到负数 –原创 2020-08-27 00:41:01 · 1469 阅读 · 0 评论 -
三种cache映射方式简单讲解
目录前言直接映射全连接映射组映射前言关于cache【cache高速缓存 简单讲解与验证】上次讲到cache的基本原理,并且做了一个简单的实验来验证cache对存取效率的提升,今天来复习一下三种cache的存取方式通过一定的方式将cache映射到内存,这可以看作是硬件的“哈希”,今天主要介绍三种映射方式,分析其原理,以及miss率等等直接映射直接映射简单粗暴,每一个内存块都对应到一个cache行,而且映射的方式也很粗暴。下面通过一张图片了解一下假设有4个cache行,每行16字节,那么主存中原创 2020-06-28 18:33:33 · 6754 阅读 · 1 评论 -
LC-3 中断实验 (深大计系1实验5)
目录前言实验内容用户程序中断服务程序注意事项配置中断代码实现用户程序中断服务程序结果前言这个实验不是很难,比上一个四子棋实验简单多了。。。实验内容这个实验需要实现LC-3的中断操作,实现也比较简单。我们编写用户程序持续输出,然后通过键盘触发中断,中断程序的触发,打断用户程序的输出,表示发生中断了,然后中断结束,继续输出。用户程序编写用户程序,交替输出字符串,达到刷屏效果,输出字符串之后使用循环来延迟一会,然后继续输出ICS ICS ICS ICS ICS ICS IC原创 2020-06-23 23:18:32 · 4907 阅读 · 4 评论 -
cache高速缓存 简单讲解与验证
前言上次做计算机系统的实验,做到一个高速缓存的实验,不过实验内容比较简单,就是验证一下不同的数据存取方式对缓存命中率的影响(通过运行时间体现)因为我上课全程摸鱼,所以今天来回顾一下高速缓存这个内容,加深映像(高速缓存介绍什么是高速缓存高速缓存是介于cpu和内存之间的一级存储器。访问cpu高速缓存的速度要快于访问内存,因此高速缓存常常用来加速cpu的运算。你可以在任何一本介绍计算机基础的课本上找到类似的图(图片源 百度图片)来描述计算机的各种存储器:高速缓存基本原理cpu的速度远远快于内存,原创 2020-06-20 21:57:12 · 3811 阅读 · 0 评论 -
符号引用重定位 重定位PC相对引用 简单讲解
目录链接符号引用重定位简介例子重定位条目简介offsettypesymboladdend重定位PC相对引用重定位PC绝对引用链接符号引用重定位简介我们知道一个.c文件可以被编译为.o文件,即目标文件,而假如一个.c中引用了别的.c中的函数或者是变量,这时候的.o其实是不知道引用函数实际的内存位置的,也就无法跳转,这就需要【重定位】的操作了,而针对函数名(也是符号)的重定位例子我们编写两个.c文件,分别是main.c和func.c,main.c引用了func.c中的func函数// main.c原创 2020-06-10 16:28:59 · 3829 阅读 · 20 评论 -
LC-3 子程序调用与模拟栈调用递归函数
在LC-3的编程中,有时候需要重复调用一些子程序,但是又不能像c语言一样定义函数,但是LC-3提供了相当的机制供我们使用TRAP机制调用子程序在上一篇文章【LC-3简易四子棋(深大计系1实验4) 思路+代码+详细注释】中,我们提到:对于输入输出,我们通过一些“伪操作”进行“系统调用”来实现读取字符,输出字符,可是这些操作的本质是TRAP机制来完成的调用TRAP调用TRAP将目标中断矢量(也就是trap的操作数,比如TRAP x21操作数是0x21)的高位补0得到一个数x,然后去内存x处寻找下一条原创 2020-06-03 21:48:22 · 3146 阅读 · 2 评论 -
LC-3简易四子棋(深大计系1实验4) 思路+代码+详细注释
明天做LC-3的四子棋实验,但是我想睡懒觉就今天把他做了,这个实验挺难的,要写好久还容易出bug,我把自己的思路和代码分享一下,让大家少走弯路目录前置知识标号伪操作TRAP伪指令代码块(函数)调用题目描述实现思路流程判断胜利思路矩阵存放与填写测试结果代码前置知识在做实验前要掌握LC-3的一些伪指令和操作标号标号 = 内存地址 (可以这么粗略的理解,编译器建立了名字到内存的映射)伪操作特性:相当于库函数了,调用这些伪操作,编译器自动帮你做一些工作,标号以.开头,下面给出标号的解释表格原创 2020-05-26 22:21:22 · 8509 阅读 · 15 评论 -
缓冲区溢出攻击实验(深大计系2实验4)三题思路+答案
额 今天做的事缓冲区 溢 出 攻 击 实验思路就是有个函数会一直读字符串,可是对字符串长度没有限制,所以会造成缓冲区的溢出,导致堆栈中的其他值被我们修改,达到攻击的目的目录预备知识实验介绍攻击目标:攻击要求:解释与说明帮助函数:如何提交答案:实验预备第一题思路及答案第二题思路及答案第三题思路及答案预备知识【X86-64寄存器,立即数与寻址,汇编常用指令整理】gdb常见指令run 执行si 单步执行b 设置断点,可以在函数调用时中断,即 b func1或者在指定地址处中断,比如b原创 2020-05-22 21:44:43 · 4971 阅读 · 10 评论 -
LC-3指令集 字符的输入与输出
LC-3是一个简单的指令集,字符的输入输出,也比较简单,即通过中断的方式,键盘输入产生中断,有一些标志位,标志着键盘是否可用,显示器是否可用,下面介绍LC-3中的输入输出这里写目录标题4个寄存器字符的输入键盘输入数据读取字符的输出设备准备输出数据LC-3输入的读取思路4个寄存器要想异步的执行输入输出指令,那就离不开约定,即约定的标志位为特定状态,执行特定操作,下面介绍LC-3中为了输入输出而准备的4个寄存器值得注意的是,这些寄存器都是模拟寄存器,即用内存来代替的下面给出这些模拟寄存器的地址及功原创 2020-05-20 23:39:41 · 5964 阅读 · 3 评论 -
将cmd的输出重定向 写入txt
有时候执行cmd命令需要把结果记录下来,虽然可以直接复制粘贴,但是总归还是麻烦些,其实可以通过重定向cmd的输出流 来将输出写入到一个txt中> 与 >>熟悉c++的小伙伴肯定对这玩意相当熟悉int a;cin>>a;使用控制台输入流读取一个变量,那么我们用同样类似的 “思路”,也可以将cmd的输出重定向到一个txt文件比如ping命令,我们一般执行命令都是ping www.baidu.com那么结果会直接在cmd中显示如果我们加上 > C:\Use原创 2020-05-17 23:51:48 · 3870 阅读 · 0 评论 -
X86-64指令集 控制与栈帧过程 读书笔记
下周不出意外的话 计算机系统2课程要做 Attack Lab 也就是攻击实验,为此提前复习并且整理一下可能用到的知识,即指令的控制与流程结构这里写目录标题控制条件码改变条件码的指令cmp指令(减法)test指令(按位与)set指令(设置条件码)跳转指令switch语句的底层栈帧与过程如何调函数?转移语句call 与 ret函数传参调用函数时的状态保存保存约定,调用者/被调用者保存控制条件码程序的运行离不开if else 等选择控制语句,那么这些选择语句都是怎么工作的?答案是条件码,控制语句只认条件原创 2020-05-17 21:03:02 · 865 阅读 · 0 评论 -
LC-3指令集 指令/状态码介绍
LC-3指令集是相当基础的计算机指令集,使用3位标识寄存器,因此有8个寄存器,而一条指令是16位,下面介绍一下常用指令指令ADD : 加,注意是立即数模式还是源目模式AND : 按位与,注意是立即数模式还是源目模式LD : 直接寻址,读内存(PC+偏移)存储的值到目的寄存器DR,即 DR = M[pc + offset]ST :直接寻址,将寄存器SR的值写入到目的地址对应的内存,即 M[...原创 2020-04-26 17:59:51 · 22574 阅读 · 19 评论 -
逆向工程实验(拆炸弹bomb实验)(深大计系2实验3) 6题答案+解法
上一篇【为拆炸弹实验做的预习与准备】讲述了一些必须的知识这个实验是给出可执行文件,要求用gdb反编译出汇编代码,一共有6个关卡,要求玩家输入6个输入,要通过分析汇编代码来找到何种输入不会触发炸弹,然后输入正确的输入信息以拆解炸弹第一关 字符串比对汇编原码及个人注释0000000000400e70 <phase_1>: 400e70: 48 83 ec 08 ...原创 2020-04-24 14:30:11 · 11196 阅读 · 9 评论 -
X86-64寄存器,立即数与寻址,汇编常用指令整理
辣个 ”拆炸弹“ 的实验 要 来 力 ,提前准备一下,到时候要做汇编,提前搞懂那些寄存器啊,指令的意义,以及x86-64指令的栈帧结构,否则无头苍蝇,是找不出boom函数调用的点的寄存器%rsp 栈顶位置指针%rax 函数的返回值%rdi,%rsi,%rdx,%rcx,%r8,%r9 函数形参,对应第 1,2,3,4,5,6 个形参%rbx, %rbp, %r12, %r1...原创 2020-04-22 19:15:21 · 3773 阅读 · 0 评论 -
编写.bat脚本阻止EasyConnect在桌面创建快捷方式
学校上网课需要用到EasyConnect连校内网,可是这个软件总是要在运行时在桌面创建一个快捷方式,而我是习惯用文件夹来整理快捷方式的,而且无法通过设置来关闭这个选项,而我又懒得去改他.exe的源文件了,这使得用户非常老火于是我写了一个.bat脚本,在他启动后10秒钟删除桌面的快捷方式编写一个 txt,之后把他的后缀名改为 .bat 即可第一行是 start + 是easyconnect的快...原创 2020-04-22 13:09:46 · 5108 阅读 · 4 评论 -
数据表示实验--位运算 (深大计系2实验2)
这个实验是 “离线OJ”,真的难啊搞的死去活来的,最后还是参考(ctrl + c)了往年师兄的方法,才落得个勉强写完。。。本着前人coding后人copying 的想法,姑且发一下自己的代码,与原理的解释实验是这样的,就是按照一定的限制条件,补全一些函数1. 按位异或/* * bitXor - 仅允许使用~和&来实现异或 * 例子: bitXor(4, 5) = 1 *...原创 2020-04-11 19:36:24 · 3878 阅读 · 3 评论 -
整数的二进制存储,原码与补码,小数的存储
数的存储,也是一个常见的点,那么在计算机中如何表示数呢?答案是二进制!表示比如我们有一个数 5,那么二进制表示是101,这好办,但是如果是-5呢?这就需要有一个符号位,单独地表示数字的正负,符号位被认为地规定在最高位,比如8位有符号整数,那么最高的第八位单独用来表示正负,那么 -5 就可以变成10000101了,这是好的可是这又引申出另一问题:如何计算不同符号的数字加减法?第一思路是想直...原创 2020-03-11 16:24:25 · 1192 阅读 · 0 评论