【机组】计算机系统组成课程笔记 第二章 计算机中的信息表示

news2024/12/24 3:32:54

2.1 无符号数和有符号数

2.1.1 无符号数

没有符号的数,其实就是非负数。在计算机中用字节码表示,目前最常用的是八位和十六位的。

2.1.2 有符号数

将正负符号数字化,0代表 + ,1代表 - ,并把代表符号的数字放在有效数字前,就组成了有符号数。

1. 机器数和真值

我们接下来要用到的真值都指的是带符号的二进制数

机器数是相对于真值而言的,下面要讲的原码、补码、反码和移码都属于机器数。

2. 原码表示法

原码,顾名思义,是机器数最原本的表示方法,原码包括两个部分,符号位和数值位,符号位用0和1代表这个数的正负,数值位就是真值的绝对值。

为了区别用原码表示的整数和小数,整数的符号位和数值位用逗号隔开,小数的则用小数点隔开。

原码的优点:表示简单,易于和真值转换

原码的定义 -- 整数

原码的定义 -- 小数

原码可以表示的小数范围在-1和1之间,其他带小数的数可以用整数+小数这样的组合来表示。

例题

注意,在由原码求真值的题目中,若结果为正,那也得加一个 + 号

3. 补码表示法

补的概念

取模为12的时候,+2等价于-10,-4等价于+8,+3等价于+15等价于+27。

在上面的例子里,-10的补数为+2,-4的补数为+8。并且正数的补数是其本身

由此可以知道,只要确定了模,就可以为任何一个负数找到与其对应的正数,也就是补数,这样就方便进行运算,在对含有负数的式子进行加法运算时,可以先将负数取补数,最后取模即可。

补的结论

补码的定义 -- 整数

补码的定义 -- 小数

用补码表示负的小数时,因为符号位要为1,所以应该模2,也就是用2减去真值,这样得到的结果里,符号位一定为1,数值位即为真值的补数。

要注意,2也得用二进制来表示!

变形补码 -- 双符号位补码

求补码的快捷方式

对正数来说,补码就是符号位加上真值本身,简单易求;

对负数来说,求补码则有快捷方式:

总而言之,就是符号位不变,数值位取反,末尾加一

4. 反码表示法

反码通常是基于上面原码与补码转换的快捷方式,所需要的中间过渡

由于正数不需要快捷方式,所以反码还是和原码补码一样,只有符号位和真值不同。

只有负数需要将全体数值位转换为相反的数。

反码的定义 -- 整数

反码的定义 -- 小数

例题

5. 移码表示法

用原码和补码时很难一眼比出两个数的大小,这时候就需要使用移码了。

移码的定义

移码的特点

同一个真值的移码和补码只差一个符号位。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1018097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux升级之路】6_进程间通信

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux升级之路】 ✒️✒️本篇内容:进程间通信介绍,管道,共享内存,消息队列,信号量 &#x1f…

八股文学习一(存储)

一. 存储 行式存储的原理与特点 对于 OLAP 场景,大多都是对一整行记录进行增删改查操作的,那么行式存储采用以行的行式在磁盘上存储数据就是一个不错的选择。 当查询基于需求字段查询和返回结果时,由于这些字段都埋藏在各行数据中&#xf…

直播设备之ENC1高级篇拆机刷uboot教程

直播设备之ENC1高级篇拆机刷uboot教程 第一步: 准备材料第二步:拆外壳取出裸板第三步:链接串口线第四步:进入电脑,开始刷uboot第五步:开始刷设备固件 老铁们好,好久没出文章了,这两天…

【面试题】智力题

文章目录 腾讯1000瓶毒药里面只有1瓶是有毒的,问需要多少只老鼠才能在24小时后试出那瓶有毒。有两根不规则的绳子,两根绳子从头烧到尾均需要一个小时,现在有一个45分钟的比赛,裁判员忘记带计时器,你能否通过烧绳子的方…

leetcode21合并两个有序链表

题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] 输…

Android之MediaMetricsService实现本质(四十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

AE-如何让一副静止的画变成动态图

如何让一副静止的画变成动态图,如图所示,如何让图中静态的芦苇随风摆动? 制作过程如下: 1.安装AutoSway AutoSway 可以从lookae 下载。 AutoSway 安装方法: 1)复制 AutoSway.jsxbin和AutoSway_ffx文件夹到AE脚本目录: Win:...Adobe After Effects CC\Support Fil…

【SDXL_LORA模型训练详细教程(含云端教程)】

个人网站:https://tianfeng.space 一、前言 之前写过一篇SD1.5 LORA模型的炼制方法,有的人想要我详细点说说秋叶启动器的lora训练器,SDXL建议使用秋叶的训练器,SD1.5赛博丹炉,个人习惯仅供参考!这次基于s…

TCP详解之滑动窗口

TCP详解之滑动窗口 引入窗口概念的原因 我们都知道 TCP 是每发送一个数据,都要进行一次确认应答。当上一个数据包收到了应答了, 再发送下一个。 这个模式就有点像我和你面对面聊天,你一句我一句。但这种方式的缺点是效率比较低的。 如果你…

红黑树的原理

文章目录 红黑树的原理红黑树的定义为什么会有红黑树红黑树构建 红黑树的原理 红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,它在计算机科学中被广泛应用于实现有序集合和映射等数据结构。它通过引入颜色标记和一些特定的操作规则&#…

springboot+vue“智慧食堂”设计与实现springboot002

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

JAVA医药进销存管理系统(附源码+调试)

JAVA医药进销存管理系统 功能描述 (1)登录模块:登录信息等存储在数据库中 (2)基本信息模块:分为药品信息模块、客户情况模块、供应商情况模块; (3)业务管理模块&#x…

QStandardItem通过setCheckable添加复选框后无法再次通过setCheckable取消复选框的问题

前言 如题所示&#xff0c;通过setCheckable添加复选框后&#xff0c;想要通过setCheckable(false)取消复选框&#xff0c;你会发现根本没有作用的。 问题复现 #include "widget.h" #include "ui_widget.h" #include <QList>Widget::Widget(QWidg…

QT基础教学(QMainWindow)

文章目录 前言一、QMainWindow介绍二、代码示例三、QMainWindow高级用法总结 前言 之前我们都是在QWidget中来进行学习的&#xff0c;那么今天我将为大家讲解一下QMainWindow。 一、QMainWindow介绍 QMainWindow是Qt框架提供的一个重要的窗口类&#xff0c;用于创建具有标准…

结构体的简单介绍(4)——位段

目录 位段的概念&#xff1a; 位段的内存分配&#xff1a; 问题1&#xff1a;当开辟了内存后&#xff0c;内存中每个比特位从右向左使用?还是从左向右使用? 这个不确定。 问题2&#xff1a;当前面时候&#xff0c;剩余的空间不足下一个成员使用的时候&#xff0c;剩余的空…

1.使用turtle换一个五环2.设计这样一个程序:输入一个数字 判断它是不是一个质数

1.使用turtle换一个五环 import turtle turtle.pensize(15) turtle.penup() turtle.color(blue) turtle.goto(-150,-35) turtle.pendown() turtle.circle(60) turtle.penup() turtle.color(black) turtle.goto(0,-35) turtle.pendown() turtle.circle(60) turtle.penup() turtl…

ffplay源码解析-PacketQueue队列

包队列架构位置 对应结构体源码 MyAVPacketList typedef struct MyAVPacketList {AVPacket pkt; //解封装后的数据struct MyAVPacketList *next; //下一个节点int serial; //播放序列 } MyAVPacketList;PacketQueue typedef struct PacketQueue {MyAVPacketList …

LeetCode题解-让所有学生保持开心的分组方法数

⭐简单说两句⭐ 作者&#xff1a;后端小知识 CSDN个人主页&#xff1a;后端小知识 &#x1f50e;GZH&#xff1a;后端小知识 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 亲爱的各位友友们&#xff0c;今天来给大家讲解一道力扣中等题&…

为什么要有override

多态一定会成功吗 因为逻辑是用户编写的&#xff0c;那么肯定会有遗漏的地方&#xff0c;那就要规则来限制。就比如多态&#xff0c;都知道条件之一是子类重写了父类的虚函数&#xff0c;但是如果子类没有严格遵守这个规则&#xff0c;就无法达到目的。就比如这个代码&#xf…

华清 c++ day7 9月14

#include <iostream> using namespace std;template<typename T> class myVector { private:T* arr;size_t size; //元素数量size_t max_size; //数组容量 public://构造函数myVector() :arr(nullptr), size(0), max_size(0) {}myVector(int size){if (size >…