网站如何做宣传推广/怎么申请网址
【从零开始学习计算机科学】计算机组成原理(二)信息表示与编码
- 信息表示与编码
- 进位计数制
- 十进制(Decimal)
- 二进制(Binary)
- 十六进制(Hexadecimal)
- 进位计数制之间的转换
- 常用的信息分类与表示
- 定点表示
- 无符号数的编码
- 正整数的表示
- 原码表示法
- 定点小数的原码表示
- 定点整数的原码表示
- 补码表示法
- 模的概念
- 补码的定义
- 定点小数的补码表示
- 定点整数的补码表示
- 原码、补码之间的转换
- 反码表示法
- 定点小数的反码表示
- 定点整数的反码表示
- 移码表示法
- 移码和补码的关系
- 移码的特点
- 定点数的表示方法总结
- 浮点数的表示方法
- 浮点数的规格化表示
- 隐藏位技术
- 规格化浮点数的真值
- 十进制数的编码
- 非数值数据
- 字符的表示方法
- 字符编码-ASCII 码
- 字符编码-EBCDIC 码
- 汉字的表示方法
- 信息表示与编码
- 进位计数制
- 十进制(Decimal)
- 二进制(Binary)
- 十六进制(Hexadecimal)
- 进位计数制之间的转换
- 常用的信息分类与表示
- 定点表示
- 无符号数的编码
- 正整数的表示
- 原码表示法
- 定点小数的原码表示
- 定点整数的原码表示
- 补码表示法
- 模的概念
- 补码的定义
- 定点小数的补码表示
- 定点整数的补码表示
- 原码、补码之间的转换
- 反码表示法
- 定点小数的反码表示
- 定点整数的反码表示
- 移码表示法
- 移码和补码的关系
- 移码的特点
- 定点数的表示方法总结
- 浮点数的表示方法
- 浮点数的规格化表示
- 隐藏位技术
- 规格化浮点数的真值
- 十进制数的编码
- 非数值数据
- 字符的表示方法
- 字符编码-ASCII 码
- 字符编码-EBCDIC 码
- 汉字的表示方法
- 汉字的存储
- 汉字的输出
- 汉字编码与输入
- 区位码、国标码与机内码的关系
信息表示与编码
进位计数制
进位计数制是指,用少量的数字符号,按先后次序把它们排成数位,由低到高进行计数,计满进位,这样的方法称为进位计数制。
在进位计数制中,基数是一个很重要的概念。基数是指进位制基本特征数,即所用到的数字符号个数。
在进位计数制中,我们可以用一个与基数相关的多项式来表示该进制下的任意一个数。
十进制(Decimal)
基数:10。
符号:0,1,2,3,4,5,6,7,8,9。
计算规律:逢十进一或借一当十。
十进制数的多项式表示:
N 10 = d n − 1 × 1 0 n − 1 + d n − 2 × 1 0 n − 2 + ⋯ + d 1 × 1 0 1 + d 0 × 1 0 0 + d − 1 × 1 0 − 1 + d − 2 × 1 0 − 2 + ⋯ + d − m × 1 0 − m N_{10}=d_{n-1} \times 10^{n-1} + d_{n-2} \times 10^{n-2} + \cdots + d_1 \times 10^1 + d_0 \times 10^0 + d_{-1} \times 10^{-1} + d_{-2} \times 10^{-2} + \cdots + d_{-m} \times 10^{-m} N10=dn−1×10n−1+dn−2×10n−2+⋯+d1×101+d0×100+d−1×10−1+d−2×10−2+⋯+d−m×10−m
其中 m,n 为正整数,其中 n 为整数位数;m 为小数位数。 D i D_i Di 表示第 i 位的系数, 1 0 i 10^i 10i 称为该位的权。
二进制(Binary)
基数:2。
符号:0,1。
计算规律:逢二进一或借一。
二进制的多项式表示:
N 2 = d n − 1 × 2 n − 1 + d n − 2 × 2 n − 2 + ⋯ + d 1 × 2 1 + d 0 × 2 0 + d − 1 × 2 − 1 + d − 2 × 2 − 2 + ⋯ + d − m × 2 − m N_{2}=d_{n-1} \times 2^{n-1} + d_{n-2} \times 2^{n-2} + \cdots + d_1 \times 2^1 + d_0 \times 2^0 + d_{-1} \times 2^{-1} + d_{-2} \times 2^{-2} + \cdots + d_{-m} \times 2^{-m} N2=dn−1×2n−1+dn−2×2n−2+⋯+d1×21+d0×20+d−1×2−1+d−2×2−2+⋯+d−m×2−m
其中 n 为整数位数;m 为小数位数。 D i D_i Di 表示第 i 位的系数, 2 i 2^i 2i 称为该位的权。
十六进制(Hexadecimal)
基数:16。
符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。
计算规律:逢十六进一或借一当十六。
十六进制的多项式表示:
N 16 = d n − 1 × 1 6 n − 1 + d n − 2 × 1 6 n − 2 + ⋯ + d 1 × 1 6 1 + d 0 × 1 6 0 + d − 1 × 1 6 − 1 + d − 2 × 1 6 − 2 + ⋯ + d − m × 1 6 − m N_{16}=d_{n-1} \times 16^{n-1} + d_{n-2} \times 16^{n-2} + \cdots + d_1 \times 16^1 + d_0 \times 16^0 + d_{-1} \times 16^{-1} + d_{-2} \times 16^{-2} + \cdots + d_{-m} \times 16^{-m} N16=dn−1×16n−1+dn−2×16n−2+⋯+d1×161+d0×160+d−1×16−1+d−2×16−2+⋯+d−m×16−m
其中 n 为整数位数;m 为小数位数。 D i D_i Di 表示第 i 位的系数, 1 6 i 16^i 16i 称为该位的权。
进位计数制之间的转换
- R进制转换成十进制的方法
按权展开法:先写成多项式,然后计算十进制结果。
N = d n − 1 × R n − 1 + d n − 2 × R n − 2 + ⋯ + d 1 × R 1 + d 0 × R 0 + d − 1 × R − 1 + d − 2 × R − 2 + ⋯ + d − m × R − m N = d_{n-1} \times R^{n-1} + d_{n-2} \times R^{n-2} + \cdots + d_1 \times R^1 + d_0 \times R^0 + d_{-1} \times R^{-1} + d_{-2} \times R^{-2} + \cdots + d_{-m} \times R^{-m} N=dn−1×Rn−1+dn−2×Rn−2+⋯+d1×R1+d0×R0+d−1×R−1+d−2×R−2+⋯+d−m×R−m
- 十进制转换成二进制方法
方法1、分别对整数部分和小数部分采用两种不同的方法。
整数部分的转换采用除2取余法(基数除法)。除基取余法把给定的除以基数,取余数作为最低位的系数,然后继续将商部分除以基数,余数作为次低位系数,重复操作直至商为0。
小数部分的转换乘2取整法(基数乘法)。乘基取整法把给定的十进制小数乘以2,取其整数作为二进制小数的第一位,然后取小数部分继续乘以2,将所的整数部分作为第二位小数,重复操作直至得到所需要的二进制小数。
方法2、减权定位法。
减权定位法将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置1,减去该权值后再往下比较,若不够减则对应位为0,重复操作直至差数为0。
常用的信息分类与表示
信息存在数值信息与非数值信息,数值信息包括无符号数和有符号数,无符号数默认为正整数,有符号数分为定点数和浮点数。
在计算机中,正、负号与某进制数绝对值的形式称为真值。如 +3,-5 等,即实际值;符号以及数值都数码化的数称为机器数,如 X=01011,Y=1101,即真值在机器中的表示。
计算机中常用的数据表示格式有两种,定点格式与浮点格式。定点格式容许的数值范围有限,但要求的处理硬件比较简单。浮点格式容许的数值范围很大,但要求的处理硬件比较复杂。
定点表示
定点表示约定机器中所有数据的小数点位置是固定不变的。(由于约定在固定的位置,小数点就不再使用记号“.”来表示)通常将数据表示成纯小数或纯整数。
因此,定点数就是指小数点位置固定不变的数。定点数分为定点整数和定点小数。定点整数是指小数点固定在最低位数的右面;定点小数是指小数点固定在最高位数的后面,即纯小数表示。
定点数表示的范围如下:
纯小数:
0 ≤ ∣ x ∣ ≤ 1 − 2 − n 0 \leq |x| \leq 1 - 2^{-n} 0≤∣x∣≤1−2−n
纯整数:
0 ≤ ∣ x ∣ ≤ 2 n − 1 0 \leq |x| \leq 2^{n - 1} 0≤∣x∣≤2n−1
目前计算机中多采用定点纯整数表示,因此我们将定点数表示的运算简称为整数运算。
无符号数的编码
正整数的表示
正整数可以表示为以下的位串:
x = x 0 x 1 x 2 … x n , x i = { 0 , 1 } , 0 ≤ i ≤ n x = x_0 x_1 x_2 \ldots x_n, \quad x_i = \{0,1\}, \quad 0 \leq i \leq n x=x0x1x2…xn,xi={0,1},0≤i≤n
即
x = x 0 ⋅ 2 n + x 1 ⋅ 2 n − 1 + … + x n − 1 ⋅ 2 1 + x n x = x_0 \cdot 2^n + x_1 \cdot 2^{n-1} + \ldots + x_{n-1} \cdot 2^1 + x_n x=x0⋅2n+x1⋅2n−1+…+xn−1⋅21+xn
其中 0 ≤ x ≤ 2 n + 1 − 1 0 \leq x \leq 2^{n+1} - 1 0≤x≤2n+1−1
例如,对于 x = 010101 x = 010101 x=010101,其数值为 2 4 + 2 2 + 2 0 = 21 2^4 + 2^2 + 2^0 = 21 24+22+20=21。
在实际的数据处理的过程中,如不需要设置符号位可用全部字长来表示数值大小。如 8 位无符号数的取值范围是 0~255( 2 8 − 1 2^8 - 1 28−1)。
原码表示法
定点小数的原码表示
若定点小数的原码形式为 x 0 . x 1 x 2 ⋯ x n x_0.x_1 x_2 \cdots x_n x0
相关文章:

【从零开始学习计算机科学】计算机组成原理(二)信息表示与编码
【从零开始学习计算机科学】计算机组成原理(二)信息表示与编码 信息表示与编码进位计数制十进制(Decimal)二进制(Binary)十六进制(Hexadecimal)进位计数制之间的转换常用的信息分类与表示定点表示无符号数的编码正整数的表示原码表示法定点小数的原码表示定点整数的原码…...

【从零开始学习计算机科学】操作系统(五)处理器调度
【从零开始学习计算机科学】操作系统(五)处理器调度 处理器调度一些简单的短程调度算法的思路先来先服务(First-Come-First-Served,FCFS)优先级调度及其变种最短作业优先调度算法(SJF)--非抢占式最短作业优先调度算法(SJF)--抢占式最高响应比优先调度算法轮转调度算法…...

Flink之水印(watermark)的补充理解
水印(Watermark):用于事件时间处理,标记数据流的进度,解决乱序和延迟问题,触发窗口计算 一、Flink 水印的作用 处理乱序事件 水印(Watermark)是 Flink 用于处理事件时间&…...

数据结构全解析:从线性到非线性,优缺点与应用场景深度剖析
1. 线性数据结构 (1)数组(Array)(适合静态数据) 优点: 随机访问高效:通过索引可以直接访问元素,时间复杂度为 O(1)。 内存连续:数组在内存中是连续存储的&…...

《使用 Python Flask + MySQL + ECharts 构建销售数据看板》实战案例笔记
《使用 Python Flask + MySQL + ECharts 构建销售数据看板》实战案例笔记 技术栈说明 后端:Python 3.10 + Flask 框架数据库:MySQL前端:ECharts 5.4 + HTML/CSS数据可视化:柱状图 / 折线图 / 饼图 / 雷达图项目结构 project/ ├── server.py # 后端服务 └──…...

StringBuilder和StringJoiner的运用
package test12; import java.util.Scanner; import java.util.StringJoiner;public class Test { public static void main(String[] args) {/* String str "你玩的真好,下次别玩了,TMD,CNM";String[] arr {"TMD", &…...

科技创新:改变生活的力量与未来趋势
人工智能在智能客服中的应用越来越普遍。它改变了传统的客服模式。AI可以快速回答用户的问题,提高了客服效率和服务质量。 首先,人工智能能够处理大量信息。智能客服可以在几秒钟内回应客户的请求。这比人工客服快得多。客户不需要等待很久就能得到答案…...

Maven指定JDK
在使用 Maven 管理 Java 项目时,有时需要指定使用特定的 JDK 版本。这通常是因为项目需要与特定版本的 JDK 兼容,或者在不同的开发环境中需要确保使用正确的 JDK 版本。通常来说在IDEA工具中设置了正确的JDK版本,使用IDEA编译也不会有任何异常…...

Jenkins持续集成与Web前端、SpringBoot项目的部署
Jenkins是一个开源的持续集成(Continuous Integration, CI)和持续交付(Continuous Delivery, CD)工具,广泛应用于软件开发过程中。它基于Java开发,旨在提供一个开放易用的软件平台,帮助软件项…...

如何使用Opentelemetry+jaeger对Go与Java项目实现分布式链路追踪
本文介绍![如何使用Opentelemetryjaeger实现分布式链路追踪] 关于opentelemetry的介绍可以看下面的文章 https://blog.csdn.net/qq_62368250/article/details/143516314本文中相关图片以及源代码地址 https://github.com/wuchenyanghaoshuai/others/blob/main/step39/README.…...

LabVIEW闭环控制系统硬件选型与实时性能
在LabVIEW闭环控制系统的开发中,硬件选型直接影响系统的实时性、精度与稳定性。需综合考虑数据采集速度(采样率、接口带宽)、计算延迟(算法复杂度、处理器性能)、输出响应时间(执行器延迟、控制周期&#x…...

Html5学习教程,从入门到精通, HTML5超链接应用的详细语法知识点和案例代码(18)
HTML5超链接应用的详细语法知识点和案例代码 超链接(Hyperlink),也称为跃点链接,是互联网和文档编辑中的一种重要概念。 超链接的定义 超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页&#…...

STM32 HAL库 CAN过滤器配置
之前在STM32 f407 CAN收发 基于HAL库和Cubemx配置_stm32f407can收发程序-CSDN博客这篇博文里写了一下配置CAN收发的方法,当时由于并没有使用过滤器的现实需求,所以就也没仔细研究。现在工作中确实需要用到过滤器了,有些项目中控制器和发动机E…...

【前端面试题】Vu3常见的面试题
1.Vue3与 Vue2的核心区别有哪些? 响应式系统 : Vue2:通过Object.defineProperty 实现响应式。这种方式在处理对象属性的添加和删除时存在局限性,且无法直接监控数组的变化 ;Vue3:采用Proxy 实现响应式&…...

【数据分享】2001-2024年我国逐年植被净初级生产力(NPP)数据
植被净初级生产力(Net Primary Productivity,NPP)是生态学中的一个重要概念,表示单位面积植被在特定时间内吸收的净光合有机物,是衡量生态系统中植物通过光合作用所产生的有机物质减去植物呼吸作用消耗的有机物质的量&…...

java-正则表达式
一、正则表达式能干什么? ✅ 验证格式:手机号、邮箱、日期✅ 提取数据:从日志/文本中抓取关键信息✅ 替换文本:批量修改字符串内容 二、Java正则核心API Java中用 java.util.regex 包的两个类: Pattern:…...

正则表达式(复习)
文章目录 一、[]: 一个字符集合二、{}: 重复次数三、特殊符号四、(): 分组五、python代码示例六、注意 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个…...

sonarqube+SonarScanner+postpresql+jenkins
本地执行参考这篇 sonarqubeSonarScannerPostgreSQL实现代码质量扫描(windows)_sonarqube 10.7部署-CSDN博客 集成到Jenkins中操作如下 在 Jenkins 中安装 SonarQube Scanner 和配置 Job 1、安装 SonarQube Scanner 插件: 在 Jenkins 的管理…...
牛客周赛Round 84
本场比赛难度不大,也是本人第一次AK,最后一题用组合数学推公式,本篇博客主要讲解最后一题的思路 G-小红的陡峭值(五)(hard)_牛客周赛 Round 84 思路:本题要我们求p/q mod M ,即p*&am…...

TDengine 配置 ODBC 数据源
简介 TDengine ODBC 是为 TDengine 实现的 ODBC 驱动程序,支持 Windows 系统的应用(如 PowerBI 等)以及用户自定义开发的应用程序,通过 ODBC 标准接口访问本地、远程和云服务的 TDengine 数据库。 TDengine ODBC 提供基于 WebSo…...

numpy常用函数详解
在深度神经网络代码中经常用到numpy库的一些函数,很多看过之后很容易忘记,本文对经常使用的函数进行归纳总结。 np.arange arange是numpy一个常用的函数,该函数主要用于创建等差数列。它的使用方法如下所示: numpy.arange([star…...

deepseek 3FS编译
3FS在ubuntu22.04下的编译(记录下编译过程,方便后续使用) 环境信息 OS ubuntu 22.04内核版本 6.8.0-52-genericlibfuse 3.16.1rust 1.75.0FoundationDB 7.1.66meson 1.0.0ninja 1.10.1 libfuse编译 以下建议均在root下执行 pip3 install…...

【CXX】6.2 str — rust::Str
Rust::Str 公共 API // rust/cxx.hclass Str final { public:Str() noexcept;Str(const Str &) noexcept;Str(const String &) noexcept;// 如果输入不是 UTF-8,抛出 std::invalid_argument 异常。Str(const std::string &);Str(const char *);Str(con…...

制作三维软件学习路线
制作三维软件是一项复杂而富有挑战性的任务,涉及多个领域的知识。下面是一个建议的学习路线,涵盖从基础到高级的知识和技能。你可以根据自己的背景和兴趣进行调整。 ### 1. 编程基础 - **学习编程语言**:C或Python是常用的语言,了…...

【RabbitMQ】事务
事务的简单配置及使用 配置事务管理器声明队列生产者代码测试 RabbitMQ是基于AMQP协议实现的,该协议实现了事务机制,因此RabbitMQ也支持事务机制. SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的,…...

常见的交换机端口类型
在计算机网络中,Access端口 和 Trunk端口 是两种常见的交换机端口类型,主要用于VLAN(虚拟局域网)的配置。它们的主要区别在于如何处理VLAN标签和数据帧。 1. Access端口 Access端口通常用于连接终端设备(如PC、打印机…...

Linux Shell 脚本编程极简入门指南
一、学习前提准备 ✅ 环境要求: Linux系统(Ubuntu/CentOS等)或 WSL (Windows用户) 任意文本编辑器(推荐VSCode/Vim) 基础命令行操作能力 🔍 验证环境: # 查看系统默认Shell echo $SHELL #…...

【医院管理会计专题】7.解锁本量利分析:医院医疗服务决策的智慧密码
医院成本核算、绩效管理、运营统计、内部控制、管理会计专题索引 一、引言 在当今医疗行业竞争日益激烈的背景下,医院管理面临着诸多挑战,如何实现高效运营、提升服务质量并控制成本成为关键问题。管理会计作为一种重要的管理工具,在医院管理中发挥着越来越重要的作用。本…...
Kotlin和Java区别
哈哈哈,前段时间,面试的时候,突然问到我Kotlin和Java的区别,一下子把我问懵逼了,确实没遇到问这个的,想了下,说了下Kotlin的编译时空检查机制,代码更简洁,很多封装好的AP…...

Taro 面试题
基础概念 1. Taro 是什么?它的核心特点有哪些? Taro 是京东开源的 多端统一开发框架,基于 React 语法,可编译到 微信小程序、H5、React Native 等多个端。 核心特点: 多端适配:一套代码运行多个端支持 …...