数据的表示和运算

news2024/11/16 11:30:56

文章目录

  • 数制与编码
    • 进制间的转换
      • BCD码
    • 定点数与浮点数
      • 定点数是什么?
      • 浮点数是什么?
      • 定点数与浮点数的区别
      • 机器数和真值
    • 原码、反码、补码、移码
      • 基本定义
      • 整数的加减法
    • 刷题小结
    • 最后

数制与编码

进制间的转换

  1. 二进制、八进制、十进制、十六进制之间的转换不用多说。常见的比如一直除以2拿到余数,再将余数排列起来(从下至上倒着写回去),即除基取余法,对应的还有一个乘积取整法。但是这两种办法比较慢,所以大家肯定还是会用2的多少次方去凑。

image-20230223165814332

二进制、八进制、十进制、十六进制的后缀分别为B、O、D、H

  1. 十进制与任意进制进制之间转换有个公式,等号左边是r进制,右边是十进制。

image-20230223165535488

BCD码

BCD:Binary-Coded Decimal,用二进制编码的十进制。

image-20230226160659823

(5 封私信) BCD码有什么用? - 知乎 (zhihu.com)

典型的BCD码就是8421码

image-20230226154703718

为什么没有十的映射?

BCD码的定义是二进制编码的十进制,十进制里最大就是9,所以映射到9结束。

8421码中1010-10010没有定义。即10-18,那就把这个二进制加6修正,就可以得到正确的数字。如在0000-1001内,就不用修正。

如6+7

0110

0111

————相加

1101,把这个结果加上6(0110)

0110

————相加

10011,将结果补全为八位00010011,四位一取,就是13,而6+7的结果正是13.

这就是计算机计算8421码的方法

除了8421码外,还有余3码和2421码等,每一位对应的权值都不相同。

其中余3码=8421码+0011,是一种无权码,每一位没有对应的权值。

2421码的每一位权值分别四2、4、2、1,表示0-4时最高位为0.表示5-9时最高位为1

奇偶校验

image-20230226162006601

定点数与浮点数

机器数中小数点的位置是固定的吗_百度知道 (baidu.com)

简易讲解定点数与浮点数 - 简书 (jianshu.com)

参考了以上博客

定点数是什么?

小数点确定的数,或者说在这种表达方法中小数点的位置是确定的,那么我们称这种方法表示的数就可以是定点数。比如定点表示法。

image-20230223171003127

image-20230223171119338

浮点数是什么?

浮点数就是小数点不确定的,比如在后面浮点数的表示里有一个部分叫阶码,有些也叫位移数,使得小数点的位置不确定

为什么要有浮点数?

因为浮点数表示的精度更高

定点数与浮点数的区别

定点数小数点固定,浮点数不固定。

定点数的精度比浮点数更低。

机器数和真值

真值就是给人看的,机器数就是机器看的。一般是十进制,也可以是二进制

+3,-5,我们看的懂,就是真值

把数字经过编码后存入计算机的数就是机器数,如补码等。一般是二进制。

机器数和真值不过是一个数字的两种形式。

原码、反码、补码、移码

基本定义

原码反码补码移码
关系真值写成二进制原码符号位不变,按位取反反码+1真值的基础上加上一个偏置值再写成二进制

有符号整数分别表示的范围:

image-20230223205032506

  • 原码从右往左找到第一个1,然后让它前面的位除符号位外全部取反即可得到它的补码。
  • 一个数的补码从右往左找到第一个1,然后让它前面的位全部按位取反,就可以得到这个数的相反数的补码。(套这个公式前注意主语是补码,不是原码)

假设机器字长为8位,有符号整数补码1000 0000表示的就是-128,注意不是负零。

-128是一个比较特殊的数字,他不能用反码+1去推出补码,而是1 0000 0000-1000 000=1000 000

  • 原码和反码存在正零和负零,补码只有一个正零。
  • 移码由于偏置值确定存在,可以直接以无符号数的形式比较。且移码不能表示小数,只能表示整数

image-20230223195634362

  • image-20230226163846210

整数的加减法

image-20230226132932807

下面的是文字版:

整数的加减法可以分为两类,无符号整数的加减法和有符号整数的加减法

无符号整数的加减法,加法不用多说,减法需要将减法转为加法。因为减去一个数,等于加上这个数的相反数。

被减数不变,减数全部位按位取反,末位加一(从右往左找到第一个1,然后第一个1前面的数全部取反),然后相加即可。

机器码设为8位,以5-3为例

  1. 写出两个数的原码

00000101

00000011–全部位按位取反再末位加一–>11111101

  1. 将两个数直接相加,多出的位舍弃

舍弃后得到00000010B,即2D。(D表示十进制)

而5-3确实等于2,说明我们算对了

有符号整数的加减法,加法不用多说,减法需要将减法转为加法,即拿到减数的相反数的补码。

被减数不变,减数全部位按位取反,末位加一(从右往左找到第一个1,然后第一个1前面的数全部取反,包括符号位),然后相加即可。

有符号整数和无符号整数都是这个办法,说明可以用一套电路解决

补码的加法让符号位也可以参加运算,使得电路的设计更加简便。
image-20230226143543511

刷题小结

  • 65535=216-1,说明表示65535有16个1,无符号整数表示65535至少需要16位,有符号整数表示65535至少需要17位。
  • 1024=210,权值是从20开始,说明1024是第十一位,所以无符号整数表示1024至少需要11位,有符号整数表示1024至少需要12位。
  • 寄存器里放的内容是补码不是原码(容易粗心忽略)
  • x变成2x,一般选补码算术移位,向左移1位(不是两位,不是移原码)。

原码、反码、补码的移位规则

  • 偏移值为2n时,补码变成移码,其实就是符号位取相反数,但是变成移码后得把移码看成无符号数去比较而不能是有符号数。所以让移码最大其实就是让无符号数最大。
  • 让有符号数的补码最大,则让符号位为0,1尽量在高位
  • 让有符号数的补码最小,则让符号位为1,0尽量在高位(补码取反加1后高位的0就变成了1,原码就负的更多,值就越小)
  • 负数补码高位的1越多,则这个负数的真值越大。
  • [1011]unsigned=1*23+0 *22+1 *21+1 *20=11,1011是一个无符号数,位权相加即可。
  • [1011]signed=-1*23+0 *22+1 *21+1 *20=-5,注意这里的1011为补码,-5为真值,这种办法可以直接由补码算出真值(负权有时很好用)
  • [0011]signed=0*23+0 *22+1 *21+1 *20=3,注意这里的0011为补码,3为真值,这种办法可以直接由补码算出真值
  • 正数符号扩展补0,负数符号扩展补1,同时他们的真值不变。
  • 两个数相加,x为符号位进位,y为最高数值位进位,x异或y得到的值若为1表示溢出,为0表示未溢出。

最后

敬请大佬斧正

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

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

相关文章

前端杂学1

1.简单且必须掌握的 1.MVVM是什么 将MVC中的V变为了MVVM,实现了双向绑定。其中VM就是vue的作用,这样页面的动态化可以通过vue来操作,而不是页面直接与后端操作,实现了前后端的分离 2.为什么vue采用异步渲染 ? 调…

Kubernetes之服务发现

本文使用wordpressmysql搭建个人博客来讲解服务发现相关知识。 环境准备 wordpress需要连接到mysql才能正常工作,所以需要为mysql的pod创建一个mysql的svc,只要不删除重建svc,其IP不会变。 此时wordpress的pod需要连接mysql的svc的时候&…

HyperGBM用4记组合拳提升AutoML模型泛化能力

本文作者:杨健,九章云极 DataCanvas 主任架构师 如何有效提高模型的泛化能力,始终是机器学习领域的重要课题。经过大量的实践证明比较有效的方式包括: 利用Early Stopping防止过拟合通过正则化降低模型的复杂度使用更多的训练数…

第四阶段01-酷鲨商城项目准备

1. 关于csmall-product项目 这是“酷鲨商城”大项目中的“商品管理”项目,是一个后台管理项目(给管理员,或运营人员使用的项目,并不是普通用户使用的),并且,只会涉及与发布商品可能相关的功能开…

企业工程项目管理系统平台(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

React(二):jsx事件绑定、条件渲染、列表渲染、jsx的本质、购物车案例

React(二)一、jsx事件绑定1.this的绑定方式2.jsx中绑定this的三种方式3.事件对象和传参(1)事件对象怎么传(2)其他参数怎么传?二、条件渲染1.直接if-else2.三元表达式3.利用逻辑中断4.案例练习5.…

HTML#5表单标签

一. 表单标签介绍表单: 在网页中主要负责数据采集功能,使用<form>标签定义表单表单项: 不同类型的input元素, 下拉列表, 文本域<form> 定义表单<input> 定义表单项,通过typr属性控制输入形式<label> 为表单项定义标注<select> 定义下拉列表<o…

【GO】31.grpc 客户端负载均衡源码分析

这篇文章是记录自己查看客户端grpc负载均衡源码的过程&#xff0c;并没有太详细的讲解&#xff0c;参考价值不大&#xff0c;可以直接跳过&#xff0c;主要给自己看的。一.主要接口&#xff1a;Balancer Resolver1.Balancer定义Resolver定义具体位置为1.grpc源码对解析器(resol…

异步通知实验

目录 一、异步通知简介 阻塞、非阻塞、异步通知区别 信号与信号修改测试 测试 二、驱动编写 1、定义fasync_struct 结构体指针变量 2、操作集添加fasync 3、实现imx6uirq_fasync 函数 4、关闭驱动文件操作 ​编辑 5、定时器处理函数 三、编写APP 1、编写信号的处理…

ElasticSearch 学习笔记总结(二)

文章目录一、ES JavaAPI 环境准备二、ES JavaAPI 索引1. 索引 创建2. 索引 查找3. 索引 删除三、ES JavaAPI 文档1. 文档 创建2. 文档 修改3. 文档 查询4. 文档 删除4. 文档 批量新增 和 批量删除5. 高级查询 索引全量查询6. 高级查询四、ES 集群1. ES集群 概念2. window 集群搭…

阿里P8:做测试10年我的一些经验分享,希望你们少走弯路

我是在2015年毕业的&#xff0c;当时是读的普通本科&#xff0c;不上不下的专业水平&#xff0c;毕业的时候&#xff0c;恰好遇到了金融危机。校园招聘里阴差阳错的巧合&#xff0c;让我走上了软件测试工程师的道路。 入职第一天&#xff0c;来了个高大上的讲师&#xff0c;记…

如何使用码匠连接 PostgreSQL

目录 在码匠中集成 PostgreSQL 在码匠中使用 PostgreSQL 关于码匠 PostgreSQL 是一种特性非常齐全的自由软件的对象-关系型数据库管理系统&#xff08;ORDBMS&#xff09;&#xff0c;它具有许多强大的功能&#xff0c;PostgreSQL 支持大部分的 SQL 标准并且提供了很多其他现…

一些无线通信系统模型的概念

一些无线通信系统模型的概念 扩频通信,指的是系统的带宽WWW远大于其信息传输速率R(bits/s)R(bits/s)R(bits/s), 定义展频带因子BeWRB_e \frac{W}{R}Be​RW​, 易知在扩频通信系统中,BeB_eBe​远大于1. 在频率上产生如此大的冗余度,主要是为了减轻无线通信或卫星通信中经常产生…

关于算法学习和刷题的建议

大家好&#xff0c;我是方圆。最近花时间学了学算法&#xff0c;应该算是我接触Java以来第一次真正的学习它&#xff0c;这篇帖子我会说一些我对算法学习的理解&#xff0c;当然这仅仅是浅浅的入算法的门&#xff0c;如果想深挖或者是有基础的人想提升自己&#xff0c;我觉得这…

【Linux】内核同步机制之等待队列和完成量

文章目录完成量和等待队列1. 等待队列1.1 基本元素1.2 等待队列的创建和初始化1.3 等待队列元素的创建和初始化1.4 添加和移除等待队列元素到等待队列2. 等待事件机制3. 等待队列唤醒4. 总结4.1 等待事件方式4.2 手动休眠方式4.3 借助内核封装函数&#xff0c;进行手动休眠5. 完…

前端开发_快应用开发

目录快应用官网真机调试组件组件嵌套问题tab组件list组件web组件css 样式问题[1]选择器[2]盒模型[3]样式布局-弹性布局[4-1]样式切换 - 类名的动态切换[4-2] 样式切换 - 行内样式动态切换[5]background[6]overflow[7]border-radius[8]盒子阴影[9] 单位系统接口[1] 检查某app是否…

机房运维6大隐患,你中了几个?

随着医院的看诊预约、缴费、打印报告等众多业务转至线上进行&#xff0c;对医院的网络及数据处理能力提出越来越高的要求&#xff0c;那么&#xff0c;机房的稳定、安全运行是医院网络信息系统的关键因素。 机房运维6大隐患 01.电源电力系统不稳定&#xff0c;网络设备运转遭到…

华为面试题就这?00后卷王直接拿下30k华为offer......

先说一下我的情况&#xff0c;某211本计算机&#xff0c;之前在深圳那边做了大约半年多少儿编程老师&#xff0c;之后内部平调回长沙这边&#xff0c;回来之后发现有点难&#xff0c;这边可能是业绩难做&#xff0c;虚假承诺很厉害&#xff0c;要给那些家长虚假承诺去骗人家&am…

红日(vulnstack)1 内网渗透ATTCK实战

环境准备 靶机链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;sx22 攻击机系统&#xff1a;kali linux 2022.03 网络配置&#xff1a; win7配置&#xff1a; kali配置&#xff1a; kali 192.168.1.108 192.168.111.129 桥接一块&#xff0c;自定义网卡4 win7 1…

一文读懂云渲染“串流”全链路时延及优化策略

​这是一个让云游戏完美起步的时代。 云游戏作为产业内近年来炙手可热的话题&#xff0c;具有“云端运行、超高清、零延时、即点即玩”等众多特性。 随着 5G 时代的到来&#xff0c;以及中心云能力下沉至边缘云&#xff0c;高带宽、低延迟、高性能这些特性与云游戏紧密结合&a…