“第五十一天”

news2025/1/12 3:45:43

        无符号整数

计算机硬件在进行无符号整数的加法时,从最低位开始,按位相加,并往更高位进位。

当进行减法时,被减数不变,减数全部按位取反,末位加一(将一个正数变负,或者将一个负数变正),减法变加法,然后和加法运算一样。(之所以要将减法转变为加法,是因为加法电路造价便宜,减法电路造价昂贵,若将减法转变为加法,省钱。)

        带符号整数

带符号整数有原码,反码,补码之分,这个是无符号整数所没有的。

原码

1、符号位“0/1”对应“正/负”,剩余的数值位表示真值的绝对值;

2、真值 0 有两种表示形式:+0 . -0 ,+0的原码是 0,000 0000 (机器字长为 8 时,逗号是用来划分符号位和数值位的),  -0 : 1,000 0000;

若指明机器字长 ,常见的书面写法是 :(8bit,值为-19为例)  1,0010011   ;但若未指明机器字长,也可以写成 : 1,10011   (高位不用补零)。

对于原码而言,符号位不能参与运算,所以需要设计复杂的硬件电路才能处理,总之就是也很费钱,补码的出现应该就是为了方便计算机处理,贫穷推动科技发展.....

原,反,补码之间的相互转换:

正数: 原码,反码,补码都是一样的;

负数: 原码转化成反码 :符号位不变,数值位取反  ;  反码转化为补码,只需要在末位加一就可以。(这个还有个比较快捷的方法,原码,补码的相互转化,只需要从右往左找到第一个 1 ,然后这个 1 左边的所有 “数值位” 都按位取反,没有符号位,注意这个转化是双向都可以的)。

这里需要注意补码的数值位不能解读为位权,就是说,比如 1111 1111,这个数,其最低为不再表示2的零次方,第二位也不再表示 2 的一次方 ,但其实正数好像也没有什么问题,毕竟和原码是一样的。

计算机硬件进行补码的加法处理: 从最低位开始,按位相加(包括符号位),并往更高位进位。

对于补码的减法运算,实际上也是把减法转变为加法,而且处理方法和无符号整数是一样的。

一个数的补码和它相反数补码的关系是:全部位按位取反(包括符号位),末位+1;

        原码,反码 ,补码的基本特征总结:

对于原码和反码而言,只是形式上有所不同,但对于相同位数能表示的范围都是一样的,而且真值 0 的表示都是两种,正负0 ,反码的是全 1和全 0 表示 真值 0 .

但对于补码而言,其表示范围在相同位数下比原,反码多一个,就是符号位为1 ,其他位全为 0的情况,  1,000... 000,这个值表示的是负的2的n次方,n是位数。所以对于补码而言,真值 0 ,只有一种表示形式,那就是全为 0 的情况。

        移码:(这个之前没有接触过,也可能忘了,注意)

移码就是在补码的基础上将符号位取反(只有符号位注意),其余不变,而且移码只能用于表示整数。   移码所能表示的整数范围和补码是一样的,真值 0 也只有一种形式。(这个其实就是浮点数的那个阶码,就是float型里面那个要加127的那部分,不过那个偏置值和这里不一样,要对减1)

用移码表示的整数很方便用硬件电路对比大小;

        定点数;

定点数可以分为定点整数和定点小数,定点整数就是带符号整数。

对于定点整数,小数点的位置在数值部分的后面,1000 0000.  ,这个点就是小数点,位置在数值部分的后面,其编码表示可以是原,反,补,移

对于定点小数,小数点的位置隐含在符号位的后面, 1.000 0000 ,1后面有个点,这个点就是小数点,位置在符号位后面,1是符号位,表示该值为负,其编码表示可以是原,反,补。但这里就有个疑问,定点小数的小数点既然在符号位后面,那定点小数是不是就是小于1的。

嗯,那就是了。

定点小数的原,反,补码的相互转换和定点整数是一样的,这里定点小数的原码和反码的真值 0 也都是两种形式,原码就是还是,符号位为 1/0 ,其他位为 0,反码还是全 1 ,或者全 0,和定点整数一样, 定点小数的补码也只有一种,那就是全 0, 所以也会比原码和反码多表示一个数,就是符号位为 1,数值位全 0 的时候,这个时候表示 -1(最小值)。

定点小数和定点整数在进行位数扩展时,扩展位置不一样,定点小数时在数值位的最后补 0 ,定点整数是在数值位的最前面补 0;

        奇偶校验码

在进行数据传送的时候可能发生位错误,让0变成1,或者1变成0,比如我用 00 代表 a ,01代表b ,然后向其他人传送ab,就是 00 01 ,但在传送过程中,1可能变成了 0 ,那么对面接收的就是aa,而不是我发出的ab,所以加入了校验。

奇校验码:整个校验码(有效信息位和校验位)中 1 的个数为奇数。

偶校验码:整个校验码(有效信息位和校验位)中 1 的个数为偶数。

对于奇偶校验码,其第一位是奇偶校验位,后面的才是有效信息位

但是对于这种当出现的错误是偶数个的时候,是没有办法校验出来的,

比如 原本编码是  1001 101 对应的奇校验码就是 1 1001 101(当然也可以变成偶校验码),如果传送过程中出现某一位变化 变成了 1 1101 101 ,那么就可以检测出错误,但是如果有偶数个发生变化,如变成 1 1111 101 ,那么 1 的个数还是奇数个,那么错误就无法检测出来。

对于偶校验的硬件实现,是将各信息进行异或(模2加)运算,得到的结果即为偶校验位.

异或就是两个全 0 ,或全1 为 0 ,一 1 一 0 为 1.

所以进行偶校验的时候就是将所有位进行异或,若结果为 1 则说明出错了。

后面就做了几道题,就不发了。

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

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

相关文章

关键词搜索淘宝商品数据接口(标题|主图|SKU|价格|优惠价|掌柜昵称|店铺链接|店铺所在地)

关键词搜索淘宝商品数据接口是可以通过API的方式来进行调用。这些接口可以获取到商品列表的标题、SKU ID、价格、优惠价、收藏数、月销售量等数据。 通过这些接口,可以实现关键词搜索淘宝商品列表的功能,也可以获取到商品详情页的数据信息,适…

微信自动通过好友请求是怎么设置的?

微信是一款必不可少的社交工具,尤其对于需要使用微信进行业务沟通和促进成交的人来说。 业务繁忙时可能每天有几十上百个微信好友申请,这时候如果手动“通过验证”不仅会工作质量和效率,有可能由于通过不及时而导致客户流失。 方式一 自动通…

leetCode 76. 最小覆盖子串 + 滑动窗口

76. 最小覆盖子串 - 力扣(LeetCode) 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 注意: 对于 t 中重复字符,我们寻…

D71X-16Q手柄蝶阀型号解析

D71X-16Q型号字母含义解析 D71X-16Q是德特森阀门常用的手柄蝶阀型号字母分别代表的意思是: D——代表阀门类型《蝶阀》 7——代表连接方式《对夹》 1——代表结构形式《中线》 X——代表阀座材质《橡胶》 -代表分隔键 16——代表公称压力《1.6MPA》 Q——代表阀体材料《…

FPGA设计时序约束七、设置时钟不确定约束

一、背景 在之前的时序分析中,通常是假定时钟是稳定理想的,即设置主时钟周期后按照周期精确的进行边沿跳动。在实际中,时钟是非理想存在较多不确定的影响,存在时延和波形的变化,要准确分析时序也需将其考虑进来&#x…

2023深耕kotlin,谈谈前景

为什么学习kotlin? Kotlin 早就已经是 Google 官方推荐的开发语言了,而且 Android 新的 Compose 框架只支持 Kotlin ,在 Google 那里,Android开发中 Java 其实已经被淘汰了。Java 和 Kotlin 虽然都属于高级语言,但是 …

利用nicegui开发ai工具示例

from fastapi import FastAPI import uvicorn from nicegui import uiclass PipRequirement:def __init__(self):ui.label("依赖安装与依赖展示")class BasicSettings:def __init__(self):self.project_select ui.select(["test"], label"项目选择&q…

驱动获取设备树节点信息

mycdev.c #include <linux/init.h> #include <linux/module.h> #include <linux/of.h>struct device_node *dnode; //解析得到的设备树节点对象指针 struct property *pr; unsigned int lenth; static int __init mycdev_init(void) {//解析设备树节点信息d…

Hafnium安全分区管理器和示例参考软件栈

安全之安全(security)博客目录导读 目录 一、安全分区管理器 1、术语 2、对旧平台的支持 二、示例参考软件栈 一、安全分区管理器 安全分区管理器的三种实现在TF-A代码库并存&#xff1a; 1.基于FF-A规范的S-EL2 SPMC&#xff08;SPM Core&#xff09;&#xff0c;使能安全…

C++ 模板和泛型编程详解

C中的模板和泛型编程是非常重要的概念。模板是一种将数据类型作为参数的通用程序设计方法。它们允许开发人员编写可以处理各种数据类型的代码&#xff0c;而无需为每种数据类型编写不同的代码。下面介绍了一些关于C中模板和泛型编程的重要知识点 模板的定义 模板是一种通用程序…

论坛议程 | COSCon'23 开源治理(G)

众多开源爱好者翘首期盼的开源盛会&#xff1a;第八届中国开源年会&#xff08;COSCon23&#xff09;将于 10月28-29日在四川成都市高新区菁蓉汇举办。本次大会的主题是&#xff1a;“开源&#xff1a;川流不息、山海相映”&#xff01;各位新老朋友们&#xff0c;欢迎到成都&a…

第十五章:L2JMobius学习 – 刷新NPC和对话

首先&#xff0c;我们介绍一下城镇里面的传送师NPC的刷新和对话。 传送师对应的类是L2TeleporterInstance&#xff0c;它继承L2FolkInstance&#xff0c;再继承L2NpcInstance。 我们要处理的是“单击/双击”传送师的业务逻辑&#xff0c;对应的是Action数据包。这个数据包具有…

Linux系统上安装FTP服务

文章背景 最近为了调试Linux系统FTP传输工具&#xff0c;刚好有Linux虚拟机环境&#xff0c;于是就搭建了vsftpd服务。 使用环境 Linux系统&#xff1a;BigCloud Enterprise Linux 7.8 (Core) 安装 1. 查询是否安装vsftpd [rootlocalhost ~]# rpm -qa | grep vsftpd 2. 安…

【CHI】Transaction structure

我们在前文【CHI】CHI协议&#xff0c;transaction事务汇总已经总结了事务类型&#xff0c;这篇开始讲述事务可以完成的方式。它显示了参与事务的各种组件可以使用的所有允许的选项。 注&#xff1a; 除了PCrdReturn 和PrefetchTgt之外&#xff0c;其他的事务在开始的时候都可…

APP分发-CDN加速原理

摘要 CDN的全称是(Content Delivery Network)&#xff0c;即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层&#xff0c;将网站的内容发布到最接近用户的网络”边缘“的节点&#xff0c;使用户可以就近取得所需的内容&#xff0c;提高用户访问网站的…

疯狂java 三-六章

第三章 数据类型和运算符 Java语言是强类型语言&#xff0c;意思是每个变量和每个表达式都有一个在编译时就确定的类型&#xff0c;所有的变量都必须显式声明类型 标识符就是类&#xff0c;变量、方法命名的符号 标识符不能包含空格 标识符只能包含美元符($)&#xff0c;不…

2000-2021年三批“智慧城市”试点名单匹配数据

2000-2021年三批“智慧城市”试点名单匹配数据 1、时间&#xff1a;2000-2021年 2、指标&#xff1a;行政区划代码、地区、所属省份、年份、智慧城市试点、最早试点年份 3、来源&#xff1a;住建部公布的三批“国家智慧城市名单” 4、说明&#xff1a;内含原始文件和匹配结…

AcWing 1.1 数字三角形模型 dp动态规划

&#xff08;1&#xff09;ACWing 1015. 摘花生 1015. 摘花生 - AcWing题库 Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图)&#xff0c;从西北角进去&#xff0c;东南角出来。地里每个道路的交叉点上都有种着一株花生苗&#xff0c;上…

从设计、制造到封测,XSKY 智能存储助力半导体行业数字化转型

近日&#xff0c;ECS2023 第五届中国电子通信与半导体 CIO 峰会在深圳召开&#xff0c;峰会以“数字科技与业务重塑”为主题&#xff0c;汇聚了 300来自电子通信与半导体行业知名企业高管、CIO、信息化与数字化负责人&#xff0c;交流电子通信与半导体行业的创新的产品和解决方…

65、内网安全-域环境工作组局域网探针方案

目录 案例1-基本信息收集操作演示案例2-网络信息收集操作演示案例3-用户信息收集操作演示案例4-凭据信息收集操作演示案例5-探针主机域控架构服务操作演示涉及资源 我们攻击内网一般是借助web攻击&#xff0c;直接进去&#xff0c;然后再去攻击内网&#xff0c;那么攻击的对象一…