【深入理解计算机系统——2信息的表示和处理】

计算机的本质就是二进制,0/1,称之为bit(位),一个位没有什么意义,当同时拥有多个位,并且加上某种解释,就可以表示任何有限集合的元素。(为什么是有限?因为用bit来表示元素是有限的,bit的组合数量是由bit数决定的,例如8个bit,那么所能表示的组合就是2^8种。即使bit次数增加,总数仍然是有限的,所以能表示集合元素数量也是有限的)。

计算机的表示法就是用有限的位对数字进行编码,因此,当结果太大就会“溢出”。比如3位模式下的最大值是111也就是7,111+1就会变成1000,把最高位抹去,就是0。

信息存储:

大多数计算机把8bit封装成一个块(字节),作为内存中的最小可寻址单元,而不是访问内存中单独的位

程序把内存抽象成一个字节数组(虚拟内存);内存中的每一个字节用一个唯一的数字表示(这里可能有异议,地址不都是:0x12fd1b……这样的形式吗,这是16进制表示法,换算成10进制就是数字),称为地址。所有可能的地址集合就是虚拟地址空间

每个程序对象(程序数据、指令和控制信息)可以看成一个字节块,程序本身就是一个字节序列。

C语言的指针的指向就是某个程序对象的首地址。

二进制太冗长,10进制和二进制转换又麻烦,所以引入16进制(0x),一个16进制位可以表示4位二进制,从右往左分配,到后面不足4位往左补0;(i+4j——2^11=3+2*4——0x800); 进制转换

计算机的字长:

每个计算机都有一个字长,这个字长也就是我们常说的64位机器,32位机器。虚拟地址就是这样一个字来编码的(8字长就是64位,4字长就是32位),字长决定虚拟地址空间大小。32位程序可以运行在64位机器,但是64位程序只能在64位机器(向后兼容,但是没有向前兼容)。32位程序和64程序的区别只是在于如何编译,而不是运行机器类型。

寻址和字节顺序:

对于跨越多字节的程序对象,要建立两个规则:1这个对象的地址是什么    2在内存中如何排列这些字节。多字节对象被存储为连续的字节序列,对象的地址就是首地址(最低的)。

考虑一个整数转化为w位的二进制,如果w是8的倍数,这些位就会被分组成为字节,因为一个字节8位,最高有效字节就是最前面8个位,最低有效字节就是最后面8个位,其他字节包含中间位。

大端法:最高有效字节存储在最前面也就是低地址处;小端法:最低有效字节存储在低地址处。

表示字符串:

文本数据比二进制数据有更强的平台独立性:文本本质上也是二进制数据,但是已经封装成一个个规则(ASCII,UTF-8等),所以不同平台系统处理这些数据会有一致的方式,背后的地址数据在不同平台差异较小;

但是二进制数据,在不同平台系统中,大小端,数据类型的字节长度和解释方式都有差异,背后的地址规则更别说了。

布尔代数:略

整数表示:

这小节没啥说的,都要靠算

T和U转换:对于C语言来说:位模式不变,但是解释的方式变。

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

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

相关文章

【日志信息管理】管理日志信息的类

日志用于记录程序的执行记录包括程序的出错记录,程序致命退出原因,程序的正常执行记录。这样我们就可以很快的察觉程序的错误原因、执行状况等等,因此管理日志信息是非常重要的。 日志一般由以下部分组合: 日志时间、日志等级、…

Java 基础--File - IO流(2)

I/O流 定义 数据从硬盘流向内存为输入流,数据从内存流向硬盘为输出流。输入也叫读取数据,输出也叫写出数据。 IO分类 1.按照数据的流向分为:输入流和输出流 ①输入流:把数据从其他设备上读取到内存中的流 ②输出流&#xff1…

Qt 基础组件速学 事件过滤器

学习目标:理解事件过滤器 前置环境 运行环境:qt creator 4.12 学习内容和效果演示: Qt 提供了事件过滤器的机制,允许我们在事件到达目标对象之前对事件进行拦截和处理。这在以下情况下非常有用: 全局事件处理: 我们可以在应用程序级别安装一个事件过…

工控人最爱的PLC触摸屏一体机,有多香

PLC触摸屏一体机是什么 PLC触摸屏一体机,听起来可能有点技术化,但简单来说,它就是一个集成了可编程逻辑控制器(PLC)和触摸屏的智能设备。这种设备不仅能够执行自动化控制任务,还能实时显示和操作设备状态&a…

JVM原理(十九):JVM虚拟机内存模型

1. 硬件的效率与一致性 数据不安全的原因:缓存一致性的问题 共享内存多核系统:在多路处理器系统中,每个处理器都有自己的高速缓存,而他们又共享同一主内存。 线程先后执行结果不一致问题:除了增加高速缓存之外&#…

【Python】已解决:nltk.download(‘stopwords‘) 报错问题

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:nltk.download(‘stopwords’) 报错问题 一、分析问题背景 在使用Python的自然语言处理库NLTK(Natural Language Toolkit)时&#xff0c…

后端开发常见错误

1、解析json字符串要考虑格式不正确,空值情况 2、解析时间字符串要考虎格式和空值 3、使用mybatis的foreach的时候要考虑拼接sql的耗时,尤其是超过10条数据 4、表字段长度,在接口层校验字段长度, 调用三方系统的报错要截取报错…

CentOS 7安装Elasticsearch7.7.0和Kibana

一. 准备安装包 elasticsearch和kibana:官网历史版本找到并下载(https://www.elastic.co/cn/downloads/past-releases#elasticsearch)ik分词器:GitHub下载(https://github.com/infinilabs/analysis-ik/releases/tag/v…

【大模型】衡量巨兽:解读评估LLM性能的关键技术指标

衡量巨兽:解读评估LLM性能的关键技术指标 引言一、困惑度:语言模型的试金石1.1 定义与原理1.2 计算公式1.3 应用与意义 二、BLEU 分数:翻译质量的标尺2.1 定义与原理2.2 计算方法2.3 应用与意义 三、其他评估指标:综合考量下的多元…

设计模式之状态机模式

一、状态机模式介绍 状态机模式(State Machine Pattern)是一种用于描述对象行为的软件设计模式,属于行为型设计模式。在状态机模式中,对象的行为取决于其内部状态,并且在不同的状态下,对象可能会有不同的行…

STM32F103C8T6核心板原理图和PCB分享

PCB图 原理图 资料下载地址: 原理图PCB库: https://545c.com/d/45573183-61875742-29897c?p7526 (访问密码: 7526)

[go-zero] 简单微服务调用

文章目录 1.注意事项2.服务划分及创建2.1 用户微服务2.2 订单微服务 3.启动服务3.1 etcd 服务启动3.2 微服务启动3.3 测试访问 1.注意事项 go-zero微服务的注册中心默认使用的是Etcd。 本小节将以一个订单服务调用用户服务来简单演示一下,其实订单服务是api服务&a…

Java 使用sql查询mongodb

在现代应用开发中,关系型数据库和NoSQL数据库各有千秋。MongoDB作为一种流行的NoSQL数据库,以其灵活的文档模型和强大的扩展能力,受到广泛欢迎。然而,有时开发者可能更熟悉SQL查询语法,或者需要在现有系统中复用SQL查询…

【ARMv8/v9 GIC 系列 5.6 -- GIC 超优先级中断详细介绍】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 Interrupt superpriority超优先级中断的特性和应用Physical interface interrupt signalsPhysical Group 1 Non-NMI for Current Security StatePhysical Group 1 for Other Security State, or a Group 0 Non-NMIPhysical Group 1 …

进程控制-wait和waitpid进程回收

wait 阻塞函数 函数作用: 1. 阻塞并等待子进程退出 2. 回收子进程残留资源 3. 获取子进程结束状态(退出原因) pid_t wait(int *wstatus); 返回值: ‐1 : 回收失败,已经没有子进程了 >0 : 回收子进程对应的…

一种非凸全变差正则化的信号降噪方法(以模拟信号和轴承振动信号为例,MATLAB)

以旋转机械振动信号为例,由于旋转机械运行中背景噪声较强,振动信号需要进行降噪处理。常用的小波阈值降噪会在信号的不连续处产生虚假的波峰和伪吉布森震荡,而奇异值分解SVD去噪容易产生虚假分量,全变差去噪则不会出现这样的情况&…

美国大选特色

美国总统是间接民选的。选民不直接投票选举总统,而是通过选举一个称为选举人团(Electoral College)的机构成员来间接决定总统。具体过程如下: 1. **选民投票**:在11月的大选日,选民投票选举他们所在州的选…

深入理解JS逆向代理与环境监测

博客文章:深入理解JS逆向代理与环境监测 1. 引言 首先要明确JavaScript(JS)在真实网页浏览器环境和Node.js环境中有很多使用特性的区别。尤其是在环境监测和对象原型链的检测方面。本文将探讨如何使用JS的代理(Proxy&#xff09…

MySQL之备份与恢复(九)

备份与恢复 从备份中恢复 更高级的恢复技术 复制和基于时间点的恢复使用的是相同的技术:服务器的二进制日志。这意味着复制在恢复时会是个非常有帮助的工具,哪怕方式不是很明显。下面将演示一些可以用到的方法。这里列出来的不是一个完整的列表,但应该…

STM32-USART

本内容基于江协科技STM32视频学习之后整理而得。 文章目录 1. 串口通信协议1.1 通信接口1.2 串口通信1.3 硬件电路1.4 电平标准1.5 串口参数及时序1.6 串口时序 2. USART串口通信2.1 USART简介2.2 USART框图2.3 USART基本结构2.4 数据帧2.5 数据帧-配置停止位2.6 起始位侦测2.…