信息的表示与处理 (深入理解计算机系统第二章)

news2025/1/11 0:54:58

刚学习这本书没多久,感觉里面讲的东西挺多的,前后的关联性比较强。学着后面的还需要看看前的才可以更好的理解。

2.1信息存储

无符号(unsigned) 编码是基于传统的二进制表示法的,表示大于或者等于零的数字。

二进制补码(two's-complement)编码是表示有符号整数的最常见的方式,
有符号整数就是为正或者为负的数字。

浮点数(floating-point) 编码是表示实数的科学记数法的以二为基数的版本。计算机用这些不同的表示方法实现算术运算,例如加法和乘法,类似于相应的整数和实数运算。
计算机的表示法用有限的位数来对一个数字编码,因此,当结果太大以至不能表示时,某些运算就会溢出(overflow)。 这会导致某些令人吃惊的后果。例如,在大多数今天的计算机上,计算表达式200*300*400*500会得出-884901 888。这违背了整数运算的属性一计算-组正数的乘积产生了一个为负的结果。
 

大多数计算机使用8位的块,或叫做字节(byte), 来作为最小的可寻址的存储器单位,而不是
访问存储器中单独的位。机器级程序将存储器视为-一个非常大的字节数组,称为虚拟存储器(virtualmemory)。存储器的每个字节都由-一个惟-的数字来标识,称为它的地址(address),所有可能地址的集合就称为虚拟地址空间( virtual address space)。正如它的名字表明的,这个虚拟地址空间只是一个展现给机器级程序的概念性映像(image)。实际的实现(见第10章)使用的是随机访问存储器RAM、磁盘存储、特殊硬件和操作系统软件的结合,来为程序提供-一个看上去统一的字节数组。 

大端法小端法

加一个12345的二进制转化与16进制转换

12345的二进制表示是:
11000000111001
转换步骤:
1. 12345 ÷ 2 = 6172...1  
2. 6172 ÷ 2 = 3086...0
3. 3086 ÷ 2 = 1543...0
4. 1543 ÷ 2 = 771....1
5. 771 ÷ 2 = 385....1  
6. 385 ÷ 2 = 192....1
7. 192 ÷ 2 = 96.....0
8. 96 ÷ 2 = 48.....0
9. 48 ÷ 2 = 24.....0
10. 24 ÷ 2 = 12.....0
11. 12 ÷ 2 = 6.......0
12. 6 ÷ 2 = 3.......0 
13. 3 ÷ 2 = 1.......1
14. 1 ÷ 2 = 0.......1
所以12345的二进制表示是11000000111001。

12345的十六进制表示是:
3039
转换步骤:
1. 12345 分解成12345 = (1 * 16^3) + (2 * 16^2) + (3 * 16^1) + (9 * 16^0)
2. 1 * 16^3 = 4096   (1 -> 十六进制数字1)
3. 2 * 16^2 = 512    (2 -> 十六进制数字2)
4. 3 * 16^1 = 48     (3 -> 十六进制数字3)
5. 9 * 16^0 = 9      (9 -> 十六进制数字9)
3. 将每个部分的十六进制数字组合:
   4096 -> 1000
   512 -> 0200
    48 -> 0030
     9 -> 0009
4. 合并每个部分的十六进制数字:
   1000 0200 0030 0009
5. 去掉前导0,得到十六进制数:
   3039
所以,12345的十六进制表示是3039。

像Sum关于12345 最低有效位 39,先输出为小段法的机器如Linux NT,但是像sum是最后输出30就是大端法的机器。

逻辑运算与位运算

    位运算

像蓝色与绿色结果为 011 变为蓝绿色

逻辑运算

 逻辑运算只有是非零的数就是 true 为0则为false;

总结:位运算有具体的值 而逻辑运算只有0和1的区别 。两者相同的情况是只有两个是二进制是一位。

整数的表示

 32位和64位计算机的最大区别主要有:
1. 地址空间大小
32位计算机的寻址空间最大为4GB,64位计算机的寻址空间可以达到16EB。这意味着64位计算机可以支持更大的物理内存。
2. 寄存器和汇编指令长度
32位计算机的寄存器和汇编指令长度为32位,64位计算机为64位。这使得64位计算机可以在单次操作中处理更多的数据。
3. 操作数的数据类型
32位计算机的原生数据类型为32位,如int等。64位计算机增加了64位的long和指针类型,可以更高效地进行64位运算。
4. 兼容性
大多数64位CPU可以兼容运行32位代码。但是32位CPU无法运行64位代码。
5. 内存寻址
32位计算机最大可以寻址4GB内存空间,64位计算机可以寻址超过16EB的内存空间。
6. 安全性
64位计算机提供了更高的安全性,如增加寄存器长度来防止缓冲区溢出。
7. 性能
64位计算机的运算性能更强,可以更好支持数据密集型和计算密集型应用。
综上,64位计算机在地址空间、性能等各方面都优于32位计算机。这使得64位计算机可以支持更大和更复杂的应用。

12345的二进制表示是 0011  0000 0011 1001

补码为                         1100  1111 1100   0111

12345的补码为 -12345的二进制形式

当1100  1111 1100   0111作为一个无符号数时数值为:-12345+32768+32768=53191 

当53191的二机制加上12345的值减一时为1111 1111 1111 1111为 INT_MAX 就是 65535

不减一的话为 0;  变为0000 0000 0000 0000;说明一个数的源码加补码为0;

                                                                

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

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

相关文章

7.string字符串的加法

字符串的加法其实是一个拼接生成新的一个字符串&#xff0c; #include <iostream> #include <Windows.h> #include <string> using namespace std; int main(void) { string s1 "武当派"; string s2 "张三丰"; string s3 "太极…

[Ubuntu 22.04] containerd配置HTTP方式拉取私仓Harbor

文章目录 1. 基础环境配置2. Docker安装3. 部署Harbor&#xff0c;HTTP访问4. 部署ContainerD5. 修改docker配置文件&#xff0c;向harbor中推入镜像6. 配置containerd6.1. 拉取镜像验证6.2. 推送镜像验证 1. 基础环境配置 [Ubuntu 22.04] 安装K8S基础环境准备脚本 2. Docker安…

防静电实时监控系统可以实现的功能

防静电实时监控系统是一种用于监测和识别静电相关问题的技术系统。静电是指由于电荷分布不均匀而引起的电势差&#xff0c;这可能导致电击、电磁干扰和设备故障等问题。 防静电实时监控系统可以通过以下方式实现&#xff1a; 感应传感器&#xff1a;该系统通常使用静电传感器…

flutter开发实战-自定义相机camera功能

flutter开发实战-自定义相机camera功能。 Flutter 本质上只是一个 UI 框架&#xff0c;运行在宿主平台之上&#xff0c;Flutter 本身是无法提供一些系统能力&#xff0c;比如使用蓝牙、相机、GPS等&#xff0c;因此要在 Flutter 中调用这些能力就必须和原生平台进行通信。 实现…

软件测试经典面试题——如何测试一支签字笔(尽量全面)

前几天过了两个电话面试&#xff0c;其中有一个问题&#xff1a;给你一支签字笔&#xff0c;你要如何测试它。 大白如我&#xff0c;后来才知道&#xff0c;这是一个软测的面试老题目了&#xff0c;当时稀里糊涂答了一通&#xff0c;后来才回味过来&#xff0c;其实HR是想看我的…

ROS2自定义消息并在同一功能包与其他功能包中使用

1创建自定义消息 1.1. 创建工作空间 mkdir -p ros2_ws/src1.2.创建功能包 cd ros2_ws/src ros2 pkg create msg_pkg --build-type ament_cmake --dependencies rclcpp std_msgs1.3.创建消息 在功能包msg_pkg中创建msg文件夹,并在msg目录中创建消息文件.类型.msg. 如Student…

【C++】从0到1讲继承|复杂的菱形继承

个人主页&#xff1a;&#x1f35d;在肯德基吃麻辣烫 我的gitee&#xff1a;gitee仓库 分享一句喜欢的话&#xff1a;热烈的火焰&#xff0c;冰封在最沉默的火山深处。 前言 本文主要讲述的是继承的概念&#xff0c;以及基类和派生类和衍生出的各种东西&#xff0c;还有多继承…

js实现css样式变换的实训

js实现css样式变换的实训 一、需求二、效果展示1.效果展示 三、实现四、其他1.其它系统 一、需求 完成以下功能&#xff1a; 1.掌控板三颗RGB灯初始所有RGB灯为红色 2.当掌控板P被触摸时&#xff0c;第一颗灯为白色&#xff0c;其他为红色&#xff1b;当掌控板Y被触摸时&…

C# GDI+编程之Graphics类

最近需要使用到C#DrawLine绘制直线这个功能&#xff0c;对这个了解的不多&#xff0c;记录一下使用的时候遇到的问题。 绘制线的基础部分&#xff0c;这个之前在《C#自学笔记&#xff08;四十&#xff09;之Windows绘图》就写过&#xff0c;有兴趣的可以看下 我这里主要说下Gra…

选择最佳安全文件传输方法的重要性

在数字化时代&#xff0c;文件的传输是商务、教育、科研、医学等领域不可或缺的工作流程。为了保障数据安全&#xff0c;选择最佳安全文件传输方法非常关键。在本文中&#xff0c;我们将探讨选择最佳安全文件传输方法的重要性。 第一、最佳安全文件传输方法可以保证文件内容不被…

【C++进阶】可变模版参数

一、前言 我们在之前Linux的学习中了解过命令行参数&#xff0c;可以让我们在命令行中传入多个参数&#xff0c;并且之前在学习printf&#xff0c;scanf等接口时&#xff0c;接触过可变模版参数&#xff1a; 而今天学习的可变参数模板和普通模板的语义是一样的&#xff0c;只…

Mac 系统钥匙串证书不受信任

Mac 系统钥匙串证书不受信任 解决办法 通过尝试安装 Apple PKI 的 Worldwide Developer Relations - G4 (Expiring 12/10/2030 00:00:00 UTC) 解决该异常问题 以上便是此次分享的全部内容&#xff0c;希望能对大家有所帮助!

[USACO14OPEN] Odometer S

洛谷[USACO14OPEN] Odometer S 题目大意 当一个数的每一位中有至少一半的数字相同&#xff0c;那么这个数就是一个有趣的数。求区间 [ L , R ] [L,R] [L,R]中有多少个有趣的数。 100 ≤ L ≤ R ≤ 1 0 18 100\leq L\leq R\leq 10^{18} 100≤L≤R≤1018 题解 这道题很容易能想…

AcWing242. 一个简单的整数问题

输入样例&#xff1a; 10 5 1 2 3 4 5 6 7 8 9 10 Q 4 Q 1 Q 2 C 1 6 3 Q 2输出样例&#xff1a; 4 1 2 5 #include<bits/stdc.h> using namespace std; const int N1e55; int n,m,a[N],c[N],x,y,d; char ch; int lowbit(int x){return x&-x; } void add(int x,int…

pytest--allure报告中添加用例详情

前言 前面介绍了如何生成allure的报告&#xff0c;看着allure的页面非常好看&#xff0c;但是感觉少了一些内容&#xff0c;allure还可以增加一些用例详情内容&#xff0c;这样让我们的报告看着更加绚丽。 allure增加用例详情 我们可以在报告测试套件中增加用例详情内容。 …

Spring初识(四)

文章目录 前言一.Bean的作用域1.1 作用域例子1.2 Bean的作用域类型 二.Bean的生命周期 前言 在前面我们学习了spring简单的读取和存储对象之后,Spring 中 Bean 是最核心的操作资源&#xff0c;我们接下来会介绍Bean对象. 一.Bean的作用域 什么是Bean作用域呢? 限定程序中变…

[DDPM] Denoising Diffusion Probabilistic Models

直接看paper云里雾里&#xff0c;一些推荐的讲解&#xff1a; The Annotated Diffusion Model 生成扩散模型漫谈&#xff08;一&#xff09;&#xff1a;DDPM 拆楼 建楼 生成扩散模型漫谈&#xff08;二&#xff09;&#xff1a;DDPM 自回归式VAE 生成扩散模型漫谈&#xff…

SQL-每日一题【619.只出现一次的最大数字】

题目 MyNumbers 表&#xff1a; 单一数字 是在 MyNumbers 表中只出现一次的数字。 请你编写一个 SQL 查询来报告最大的 单一数字 。如果不存在 单一数字 &#xff0c;查询需报告 null 。 查询结果如下例所示。 示例 1&#xff1a; 示例 2&#xff1a; 解题思路 1.题目要求我…

MyBatis---多表查询,动态sql的详细介绍

目录 1.命名规则 1.resultMap&#xff08;对应类属性名称与数据库字段名称&#xff09; 2.多表查询&#xff08;ResultMap&#xff09; 1.创建articleInfo类 2.创建ArticleMapper.xml配置文件和ArticleMapper接口 ①&#xff1a;不建议使用 &#xff08;文件之间耦合严重…

十大排序算法详解

目录 1. 冒泡排序 a. 思路 b. code 2. 插入排序 a. 思路 b. code 3. 希尔排序【插入排序plus】 a. 思路 b. code 4. 选择排序 a. 思路 b. code 5. 基数排序 a. 前置知识 b. 思路 c. code 6. 计数排序 a. 思路 b. code 7. 桶排序&#xff08;计数排序plus &…