Lecture 17

10’s Complement Representation

主要内容:

1. 10’s 补码表示:

• 10’s 补码表示法需要指定表示的数字位数(用  n  表示)。

• 表示的数字取决于  n  的位数,这会影响具体数值的解释。

2. 举例:

• 如果采用 3 位补码,数字 ‘567’ 代表  -433 。

• 原理:在 3 位补码中,范围是从  -10^3 / 2  到  10^3 / 2 - 1 ,即  -500  到  499 。数字超过正值范围就表示负值。

• 如果采用 4 位补码,数字 ‘0567’ 代表  567 。

• 因为此时正值范围是从 0 到  10^4 - 1 。

Addition

1. 使用 10’s 补码的加法操作:

• 对于 n 位数字,在补码表示中进行加法的规则是:

• 按 模  10^n  进行加法。

• 任何超过  n  位的进位都会被“丢弃”(舍弃最高位的进位)。

2. 核心规则:

模运算: 结果限制在指定的范围内(例如对于 3 位补码,模  1000 )。

• 使用标准加法规则,只需在最终结果中忽略多余的进位。

补充解释:

模运算的意义: 模运算确保结果始终在有效范围内。例如,在 3 位数运算中,进位舍弃后,结果仍然是 3 位数。

简化计算: 通过模运算和进位舍弃,复杂的减法和负数处理都能简化为加法。

 

Subtraction

1. 减法原理:

• 减去  B  相当于加上  -B ,即:

A - B = A + (-B)

2. 如何计算  -B :

•  -B  是  B  的 10’s 补码,即:

• 用  10^n - 1  减去  B 。

• 例如,若  B = 250 ,其补码  -B = 750 。

 

Overflow testing 

• Example.

– Codes: ‘347’ + ‘230’ = ‘577’.

– Values: 347 + 230 = - 423.

超出了 3 位补码的表示范围(-500 到 499)。

溢出检测的规则

• 如果两个加数的符号相同,但结果的符号不同,就发生了溢出。

Positive and Negative 

1. 10’s 补码范围分布:

• 在 10’s 补码系统中,正数和负数的表示范围是不均匀(unevenly)

• 这是因为 10’s 补码需要分配一个额外的数字给负的最小值(负数范围多一个值)。

2. 例子:

• 在 4 位补码系统中,可以表示的整数范围是:

-5000 -4999

• 负数范围为 -5000 到 -1,共 5000 个数。

• 正数范围为 0 到 4999,共 5000 个数。

• 这种不均匀分布是补码编码的固有特性。

Two’s Complement in 8 Bits

1. 二进制中的 2’s 补码:

• 对于 8 位二进制数(n=8),2’s 补码的表示类似于 10’s 补码,只是底数从 10 换成了 2。

范围:

• 从 - 2^7 = -128  到  2^7 - 1 = 127 。

2. 表示方法:

• 二进制编码如下:

• 从 10000000 表示最小的负数(-128)。

• 到 01111111 表示最大的正数(127)。

• 0 的编码是 00000000。

符号规则

以 0 开头的数字:

• 表示正数,直接用自然值。

• 如:00000101 表示 5。

以 1 开头的数字:

• 表示负数,其数值为补码形式。

• 如:11111101 表示 -3。

 求补码的方法

• 计算一个数字的 2’s 补码可以通过两种方法:

1. 模运算

从  2^n  减去数值。

2. 逐位取反加 1

取反:将所有位翻转(0 变 1,1 变 0)。

加 1:对取反后的值进行加 1 运算。

 例子:

• 数字 11011101:

• 逐位取反得到 00100010。

• 加 1 得到 00100011,即 -35。

Addition

1. 加法规则:

• 在 2’s 补码中,加法通过模运算  2^n  实现。

• 超出最高位的进位会被舍弃。

2. 例子:

• 011011 表示 27。

• 101100 表示 -20(负数补码形式)。

• 加法:

•  011011 + 101100 = 1000111 (有进位)。

• 舍弃最高位,结果是 000111,即 7。

 

Subtraction and Overflow

1. 减法的实现:

• 在 2’s 补码系统中,减法与 10’s 补码类似:

A - B = A + (-B)

• 这意味着减法可以通过先求负数  -B  的补码,然后与  A  直接相加来完成。

2. 溢出的检测:

• 如果两个加数的符号相同,但结果的符号不同,则发生了溢出。

Numerical Types in Java

1. Java 中的整数类型:

byte: 8 位整数,范围: -2^7  到  2^7 - 1 (即 -128 到 127)。

short: 16 位整数,范围: -2^{15}  到  2^{15} - 1 (即 -32,768 到 32,767)。

int: 32 位整数,范围: -2^{31}  到  2^{31} - 1 。

long: 64 位整数,范围: -2^{63}  到  2^{63} - 1 。

2. 补码表示法:

• Java 使用 2’s 补码表示法 来处理有符号整数。

Q&A

1. Addition for  n -digit numbers represented by 10’s complement is based on addition modulo  10^n ?”

• 答案:True

 n -位数的加法基于 模运算  10^n 

2.How is Overflow Detected?

溢出检测规则:

• 当两个数的符号相同,而结果的符号与加数符号不同,则发生溢出。

3. Can Overflow Result from Subtractions?

与加法类似:若两个操作数的符号相反,而结果符号与被减数  A  不同,则发生溢出

4. An int type under Java encodes integers under this range: -2³² — 2³² - 1?

实际表示范围是从 -2³¹ 到 2³¹ - 1

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子电器架构 --- 智能座舱HUD技术革新

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源&…

零基础微信小程序开发——全局配置之tabBar(保姆级教程+超详细)

🎥 作者简介: CSDN\阿里云\腾讯云\华为云开发社区优质创作者,专注分享大数据、Python、数据库、人工智能等领域的优质内容 🌸个人主页: 长风清留杨的博客 🍃形式准则: 无论成就大小,…

docker redis安装

一.镜像拉取 docker pull redis:5.0新建文件 touch /home/redis/redis.conf touch /home/redis/redis_6379.pid # bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 #bind 127.0.0.1protected-mode noport 6379tcp-backlog 511requirepass roottimeout 0tcp-keepali…

0基础跟德姆(dom)一起学AI 自然语言处理08-认识RNN模型

1 什么是RNN模型 RNN(Recurrent Neural Network), 中文称作循环神经网络, 它一般以序列数据为输入, 通过网络内部的结构设计有效捕捉序列之间的关系特征, 一般也是以序列形式进行输出. 一般单层神经网络结构: RNN单层网络结构: 以时间步对RNN进行展开后的单层网络结构: RNN的…

Xilinx PCIe高速接口入门实战(三)

引言:为保证FPGA设备可以连接并被系统识别,本节讨论了PCIe基础规范和PCIe板卡电气规范的对FPGA配置时间具体要求。 1. 配置访问时间 在PCIe的标准系统中,当系统通电时,处理器上运行的配置软件开始扫描PCIe总线以发现机器拓扑。…

InfoNCE Loss详解(上)

引言 InfoNCE对比学习损失是学习句嵌入绕不开的知识点,本文就从头开始来探讨一下它是怎么来的。 先验知识 数学期望与大数定律 期望(expectation,expected value,数学期望,mathematical expectation)是随机变量的平均值&#…

抽象工厂设计模式的理解和实践

在软件开发中,设计模式是前人通过大量实践总结出的、可复用的、解决特定问题的设计方案。它们为我们提供了一种标准化的解决方案,使得代码更加简洁、灵活和易于维护。在众多设计模式中,抽象工厂模式(Abstract Factory Pattern&…

爱思唯尔word模板

爱思唯尔word模板 有时候并不一定非得latex https://download.csdn.net/download/qq_38998213/90199214 参考文献书签链接

【机器学习】工业 4.0 下机器学习如何驱动智能制造升级

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 随着科技的飞速发展,工业 4.0 浪潮正席卷全球制造业,而机器学习作为这一变革中的关键技术,正以前…

全面了解 SQL Server:功能、优势与最佳实践

SQL Server 是微软公司推出的一款关系型数据库管理系统(RDBMS),广泛应用于企业级数据存储、数据分析、应用开发等领域。作为全球最受欢迎的数据库管理系统之一,SQL Server 提供了强大的功能和工具,支持从小型应用到大型…

旅游管理系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…

攻防世界 robots

开启场景 根据提示访问/robots.txt,发现了 f1ag_1s_h3re.php 拼接访问 /f1ag_1s_h3re.php 发现了 flag cyberpeace{d8b7025ed93ed79d44f64e94f2527a17}

离线语音识别+青云客语音机器人(幼儿园级别教程)

1、使用步骤 确保已安装以下库: pip install vosk sounddevice requests pyttsx3 2、下载 Vosk 模型: 下载适合的中文模型,如 vosk-model-small-cn-0.22。 下载地址: https://alphacephei.com/vosk/models 将模型解压后放置在…

秒杀场景的设计思考

秒杀场景的设计思考 在学习Redis的之后,一个绕不开的话题就是秒杀系统的设计。本文将从下面👇🏻几个方面展开一下个人简单的理解: 秒杀场景的介绍设计的核心思路怎么限流、削峰、异步planB总结 ‍ 秒杀场景的介绍 秒杀场景是…

秒鲨后端之MyBatis【2】默认的类型别名、MyBatis的增删改查、idea中设置文件的配置模板、MyBatis获取参数值的两种方式、特殊SQL的执行

别忘了请点个赞收藏关注支持一下博主喵&#xff01;&#xff01;&#xff01;! ! ! 下篇更新&#xff1a; 秒鲨后端之MyBatis【3】自定义映射resultMap、动态SQL、MyBatis的缓存、MyBatis的逆向工程、分页插件。 默认的类型别名 MyBatis的增删改查 添加 <!--int insertUs…

2024年12月29日Github流行趋势

项目名称&#xff1a;cobalt 项目地址url&#xff1a;https://github.com/imputnet/cobalt项目语言&#xff1a;Svelte历史star数&#xff1a;22882今日star数&#xff1a;1049项目维护者&#xff1a;wukko, dumbmoron, Snazzah, lexito-o, KwiatekMiki项目简介&#xff1a;保存…

【LLM】OpenAI 的DAY12汇总和o3介绍

note o3 体现出的编程和数学能力&#xff0c;不仅达到了 AGI 的门槛&#xff0c;甚至摸到了 ASI&#xff08;超级人工智能&#xff09;的边。 Day 1&#xff1a;o1完全版&#xff0c;开场即巅峰 12天发布会的开场即是“炸场级”更新——o1完全版。相比此前的预览版本&#x…

国内独立开发者案例及免费送独立开发蓝图书

独立开发者在国内越来越受到关注&#xff0c;他们追求的是一种自由且自给自足的工作状态。 送这个&#xff1a; 少楠light&#xff08;Flomo、小报童、如果相机&#xff09;&#xff1a;他们是独立开发者的典范&#xff0c;不仅开发了多款产品&#xff0c;还坚信“剩者为王”…

【js】记录预览pdf文件

接口调用拿到pdf的文件流&#xff0c;用blob处理这个文件流拿到url&#xff0c;使用window.open跳转新的窗口进行预览 api({dataType: blob, }).then(res >{if(res.code 0){this.previewPDF(res,application/pdf;charsetutf-8,pdf文件名)} })previewPDF (res, type, fname…

Vue3 +Element-Plus el-select下拉菜单样式(局部生效)

下拉框代码 <el-selectclass"buttons-switch-group select-hub":teleported"false"style"width: 120px"v-model"queryParam.type"placeholder"请选择"size"mini"change"loadData"><el-option…