数据表示(二进制、进制转换、补码计算)

news2024/10/6 12:30:41

目录

    • 1.进制
    • 2.进制转换
      • 2.1 R进制转十进制
      • 2.2 十进制转R进制
      • 2.3 m进制转n进制
        • 方法1:十进制中转
        • 方法2:直接转化
    • 3.进制计算
      • 3.1 机器数
      • 3.2 编码方式(原码、反码、补码、移码)
      • 3.3 表示范围
        • 定点整数
        • 定点小数
      • 3.4 定点表示法
    • 4.浮点数
      • 4.1 浮点数的表示
      • 4.2 浮点数的运算
      • 4.3 尾数的表示规格化

1.进制

进制 是数字表示法的一种形式,用于描述一个数在位置“上”的取值范围,不同进制代表着不同进位的规则和不同进制位数的数量。

我们常见的十进制是一种基数为 10 的数字系统,它使用 0 ~ 9 这十个数字来表示数值,例如 123 就是由 1、2、3 这三个数字组成的十进制数。

而在计算机科学中,最常用的是二进制,也就是使用 0 和 1 两个数字来表示数值,例如 1011 就是由 1、0、1、1 这四个数字组成的二进制数。

当然,除了十进制和二进制之外,还有八进制十六进制等其他进制形式,它们在不同领域有不同的应用场景。理解进制的概念和运算规则是我们深入理解计算机科学的基础之一,也是实际编程中不可或缺的基本技能。

注意: 二进制符号为 0b,一般表示为 0b0011,十六进制符号为 0xH,可表示为 0x18F18FH.

补充:生活中的进制有很多,比如秒和分钟就是60进制,60秒进1分钟,60分钟进1小时。

2.进制转换

2.1 R进制转十进制

方法:

  • 位权展开法:用 R 进制数的每一位乘以 R 的 n 次方,n 是变量,从 R 进制的整数最低位开始,依次为:0,1,2,3……累加。

举例:

  • 6 进制数 5043 转十进制。
  • 5043=5*63+0*62+4*61+3*60=5*216+4*6+3*1=1080+27=1107

2.2 十进制转R进制

方法:

  • 除以 R 倒取余数:用十进制整数除以 R,记录每次取的余数,若商不为 0,则继续除以 R,直到商为 0,而后将所有计算取得的余数根据先后顺序,从右至左排列,即为转换后的 R 进制整数。

举例:

  • 问:十进制数200转换为6进制。
  • 200➗6=33……2,商为33,余数为2
  • 33➗6=5……3,商为5,余数为3
  • 5➗6=0……5,商为0,余数为5
  • 商为0,停止计算,根据计算先后顺序,从右至左排列为:532

2.3 m进制转n进制

方法1:十进制中转

  • 先将 m 进制转化为十进制数,再将十进制数转化为 n 进制数,中间需要通过十进制进行中转。

方法2:直接转化

  • 适用于倍数进制之间的转化,以倍数为单位切割较小进制的位数,逐个单位转化。

示例①:二进制转八进制

方法:

  • 每3位二进制转换为1位八进制数,二进制数位个数不是3的倍数,则在前面补0(原则是数值不变)。

举例:

  • 二进制数01101转八进制。
  • 长度为5位,不是3的倍数,前面补0,为:001 101
  • 每3位二进制转换为1位八进制,转换后为:15

示例②:二进制转十六进制:

方法:

  • 每4位二进制转换为1位十六进制数,二进制数位个数不是4的倍数,则在前面补0(原则是数值不变)

举例:

  • 二进制数101101转换为十六进制。
  • 长度为6位,不是4的倍数,前面补两个0,为:0010 1101
  • 每4位二进制转换为1位十六进制数:2D

3.进制计算

3.1 机器数

机器数:各种数值在计算机中表示的形式。

  • 特点:使用二进制计数制,数的符号用0和1表示,小数点则隐含,不占位置。
  • 根据有无符号位,分为:
    • 无符号数表示正数,没有符号位
    • 带符号数最高位为符号位,正数符号位为0,负数符号位为1
  • 真值:机器数对应的实际数值。

3.2 编码方式(原码、反码、补码、移码)

带符号数有下列编码方式,当真值为 -45 时:

原码:一个数的正常二进制表示,最高位表示符号,数值0的原码有两种形式:+0(0 0000000)和 -0(1 0000000)。-45对应原码为10101101

反码正数的反码即原码;负数的反码是在原码的基础上,除符号位外,其他各位按位取反。数值0的反码也有两种形式:+0(0 0000000)和 -0(1 0000000)。-45对应反码为11010010

补码正数的补码即原码;负数的补码是在原码的基础上,除符号位外,其他各位按位取反,然后末位+1,若有进位则产生进位。因此数值0的补码只有一种形式 +0 = -0 = 0 0000000。-45对应补码为11010011

移码:用作浮点运算的阶码,无论正数负数,都是将该原码的补码的首位(符号位)取反得到移码。-45对应移码为01010011

3.3 表示范围

  • 机器字长为 n 时,各种码制表示的带符号数的取值范围(差别在于 0 的表示 )。

在这里插入图片描述

定点整数

  • 1.指数-实际字长:n=1(符号位)+(n-1)(数值位)
    • 因此只有n-1个位数可用于表示数值
  • 2.底数-进制:2
  • 3.可表示的数值数量:2^(n-1)
  • 4.可表示的取值范围:2^(n-1)-1
  • 5.原码和反码被-0占用,因此负数跟正数的取值范围一样
  • 6.补码和移码没有被-0占用,因此负数可以比正数多表示一个。

定点小数

  • 定点整数取值范围整体/2^(n-1)

3.4 定点表示法

定点表示法:根据小数点位置,分为纯小数和纯整数两种,其中小数点不占存储位,而是按照以下约定:

  • 纯小数:约定小数点的位置在机器数的最高数值位之前。
  • 纯整数:约定小数点的位置在机器数的最低数值位之后。

4.浮点数

浮点数:表示方法为N=F*2^E,其中E称为阶码,F称为尾数;类似于十进制的科学计数法,如85.125=0.85125*102,二进制如101.011=0.101011*23

4.1 浮点数的表示

在浮点数的表示中,阶码为带符号的纯整数,尾数为带符号的纯小数,要注意符号占最高位(正数0负数1),其表示格式如下:

在这里插入图片描述

注意: 一个浮点数的表示方法不是唯一的,浮点数所能表示的数值范围由阶码确定,所表示的数值精度由尾数确定。

4.2 浮点数的运算

对阶:使用两个数的阶码相同,小阶向大阶看齐,较小阶码增加几位,尾数就后移几位。

补充:小阶向大阶看齐,尾数右移丢弃末位,精度变化较小。

位数计算:相加,若是减运算,则加负数。

结果规格化:即尾数表示规格化,带符号尾数转换为1.0XXXX或0.1XXXX。

4.3 尾数的表示规格化

尾数的表示规格化:带符号尾数的补码必须为1.0XXXX(负数)或者0.1XXXX(正数),其中X可为0或1。

整理完毕,完结撒花~ 🌻

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

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

相关文章

小破站有许多“高质量”东西,怀揣着“学习”的目的,我用Python将它们通通采集下来

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 事情是这样的,昨晚室友拉着我去他的电脑,说带我欣赏一点高雅的作品~ 于是这一坐下,便是一晚上… 作为一个乐于分享的博主,本来我是决定直接分享的, 但是转念一想&a…

MySQL锁详解

五.锁 5.1 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源CPU、 RAM、I/O的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲…

「实在RPA·零售数字员工」助力零售运营化”零“为整

零售行业是指以面向消费者销售商品和服务的行业,它涵盖了各种类型的商店、百货公司、超市、购物中心、电商平台等,是全球最大的行业之一,在经济增长中有着举足轻重的作用。随着科技的发展,消费者需求的变化以及运营成本的增长&…

软件测试用例的设计以及分类

文章目录 测试用例设计1.测试用例2.设计测试用例的方法1) 等价类2) 边界值3) 判定表法4) 正交法5) 场景设计法6) 错误猜测法 3. 测试分类1) 按测试对象划分2) 按是否查看代码划分黑盒测试白盒测试灰盒测试为什么不直接使用灰盒测试常见的测试方法有哪些?哪些方法用的…

终于拿下腾讯25K的offer,面试官问我的面试题+回答,他都听懵了...

前言 自动化测试面试题总结: 1、你会封装自动化测试框架吗? 这个问得最多,很多公司直接写在招聘要求中。 自动化框架主要的核心框架就是分层PO模式:分别为:基础封装层BasePage,PO页面对象层,T…

【移动计算技术(Android)】期末复习

目录 选择题 选择题知识点汇总 Activity Intent Broadcast BroadcastReceiver 如何自定义Receiver 如何注册接收器 Service SharedPreferences 三种访问模式 如何创建 如何存储/修改 如何读取 内部存储 openFileOutput openFileInput SD卡 资源文件 SQLite…

【学习笔记】Unity基础(七)【uGUI基础、利用render Texture实现小地图功能】

目录 一 Canvas1.1 三种Render Space渲染空间 screen1.2 canvas scaler画布缩放器1.3sprite1.4 sprite packer1.5 unity目录1.6 RuleTile Tilemap1.7 sprite packer1.8 sorting layer 二 rect transform2.1 pivot 中轴 中心点2.2 anchor 锚点2.3 uGUI源代码 三 EventSystem3.1 …

【paddlecls】多机多卡-linux

1. 安装docker(引擎): (https://docs.docker.com/engine/install/ubuntu/) Install Docker Engine on Ubuntu To get started with Docker Engine on Ubuntu, make sure you meet the prerequisites, and then follo…

助力工业物联网,工业大数据之工业大数据之油站维度设计【十四】

文章目录 01:油站维度设计02:油站维度构建 01:油站维度设计 目标:掌握油站维度的需求与设计 路径 step1:需求step2:设计 实施 需求:构建油站维度表,得到油站id、油站名称、油站所属…

北美机器人市场迎来销售放缓,未来路在何方?

原创 | 文 BFT机器人 引言 Introduction 北美机器人销售在2022年创下了历史记录,但在2023年第一季度放缓。据推进自动化协会(A3)提供的数据显示,2023年第一季度,北美公司仅订购了9,168台机器人,较2022年同…

C++进阶 —— map

目录 一,map介绍 类pair 函数模板make_pair 二,map使用 一,map介绍 map是关联容器,按照特定的次序存储元素(由键key和值value组合而成的);键key通常用于排序及唯一标识元素,而值…

不愧是华为出来的大佬,实在是太强了.....

前段时间公司缺人,也面了许多测试,一开始瞄准的就是中级水准,当然也没指望能来大牛,提供的薪资在15-20k这个范围,来面试的人有很多,但是平均水平真的让人很失望。看了简历很多上面都是写有4年工作经验&…

Pillow(PIL)入门教程(非常详细)以及python实现jpg,png、ico、bmp格式互转大全

概述 Pillow库的特点: python3安装pillow: ​Pillow是什么 Pillow创建Image对象: jpg,png: jpg与png格式互转代码: 概述 Pillow 库(有时也称 PIL 库) 是 Python 图像处理的基础库&#xf…

计划学习网络安全,需要学习哪些知识,应该怎么学习?

虽然现在的网络安全大都是指渗透测试,但是并不代表只有渗透测试这一个方向,除此之外还有二进制逆向这个方向。以下会对这两个方向分别对您进行详解。 渗透测试方向 1、学习编程语言 (1)网站如何搭建的?HTML、CSS、J…

SpingBoot+LayUI 实现酒店管理系统编写

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

晚上12点接到面试邀约电话,待业一个月的我却拒绝了....

前言 一位测试朋友最近一直在找工作,前两天刚拒绝了一个面试。那天晚上12点多,他接到一个HR的面试电话,让他第二天早上10点去公司面试。朋友和HR聊了两句,了解到这位HR经常加班,于是果断拒绝了这个面试。 我还为他可惜…

AHB-to-APB Bridge——06testbench、env、base_test、scb

框架: testbench: HCLK_PCLK_RATIO:随机定义hclk pclk比率;各个接口clk、rst连接;生成满足相应比率的pclk;与DUT的连接;将vif set到agt中去;agt在set到底层 关于rest_if&#xff…

如何保证三个线程按顺序执行?不会我教你

👨‍🎓作者:bug菌 ✏️博客:CSDN、掘金、infoQ、51CTO等 🎉简介:CSDN|阿里云|华为云|51CTO等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12…

仪表板展示 | DataEase看世界:数据呈现世界油价变化

背景介绍 最近几个月,全球能源市场一直处于动荡不安的状态,与石油相关的新闻也非常频繁。2023年2月10日,面对西方多轮限价举措,俄罗斯副总理亚历山大诺瓦克宣布,俄罗斯将在3月把每日原油产量下调50万桶。目前&#xf…

FOFA-攻防挑战

记录一下中途短暂的辉煌时刻 辉煌一刻谁都有,别拿一刻当永久 在昨天初尝战果之后,今天又习惯性的打开 https://vulfocus.cn/ 发现今天还有挑战赛,按捺不住躁动的心,又开始了学习。今天主要拿下的是这四个镜像,同时我也会对我了解…