当前位置: 首页 > news >正文

4:arm汇编语言4:bits/byte的介绍(ASCII码)与二进制补位

4.2 bits/byte的介绍与ASCII码的引入

这个是详细介绍计算机内部原理的基础,bits与byte其实这两个是计算机中非常重要的单位。首先看一下bits,它是一个基础的计算机单位。计算机单位?像长度单位是米,体重的单位是kg,你这个是啥玩意呢?

比特(bit)是计算机数据的最小单位,只能表示两个状态:0 或 1。它是构成更大数据单位(如字节、千字节等)的基本元素,用来表示和处理信息。1bit中只有0,1两个状态(在经典计算机中),而计算机中的东西都是以0/1表示的。但是吧这个实在是太小了,所以我们一般使用byte(字节)来进行一些计算等等的事情。

bytes(字节)1bytes = 8bits,所以一个字节能有八个比特。比如说010000000这个就是代表了一个字节(一个1/0代表的是一个bits)。那具体这个01000000代表啥这个会在之后说到。一个字节代表了256个整数。(当然具体的范围要等会儿说),因为每一个比特是两种情况,所以应该是2^8个整数。

那么到这里我知道了计算机不喜欢用十进制的数字,喜欢使用二进制的方式,(二进制是计算机的基础)而为啥之前的文章要写十六进制呢?是因为十六进制是二进制较为简单的缩写,同样在计算机的内部也经常使用。那么到这里有一个非常大的逻辑漏洞,那么我的字母,小数点,逗号,引号,那计算机是怎么认识的呢,这个就要提到ASCII码了

这个图片是来自于这个网址ASCII码十六进制的表格 - 搜索 图片 (bing.com)。原来的网站是ASCII码对照表(完整版)_360新知 (so.com)。

在这个代码中非常详细的讲解了为啥,同样二进制也是八位的,一个byte,比如说我打了一个“ha”

ha这个可以对照表(注意大小写是不一样的):01101000 01100001(二进制);68 61(十六进制);这个就是为啥计算机能懂我们写的东西了,因为都是由这个数字编写而成。

那么刚刚说的0100 0000是啥,可以对照一下ASCII表是:@。

4.2二进制体系与二进制补位

4.2.1介绍二进制补位

刚才在介绍关于八比特等于一字节,然后有256个数字,但是并没有范围的时候,其实大家的第一反应肯定是[0,255]啊,这不是很简单么,那么这个是无符号的二进制体系。很简单0000 0000是0这样子到255,但是有一个问题,怎么表示负数,所以在8位的时候(也就是一个字节)有一个特殊的体系叫做二进制补位,补位的出现,弥补了我们没有负数的情况。

二进制补位圆圈 - 搜索 图片 (bing.com),这个圆圈其实非常的清楚。(可以说在补码的情况下左边是0的一般是正数,然而左边是1的是负数)那么补码的出现很好的帮助计算机做减法,有负数这些问题。那么在4bits的情况下范围是[0,15],有补码的情况下是[-8,7],而这个范围的计算公式是

                                                  [-2^n,2^n-1]

这个n是指有几个bits。那么返回来8bits的情况下有补码的时候范围是啥呢,是这个范围[2^7,2^7-1]

4.2.2补码的经典问题

到这里如果我问你,在4位二进制的体系下,-3是多少?查表得1101

那么8bits呢?

那么10bits呢?

那么20bits呢?

不能全部列出来啊,这个太难受了

所以遇到这个非常非常经典问题的时候,你的解决方法其实非常多,我现在介绍一种

我用4bits下,-3是多少为例子?因为这个最为简单(学习理科都是先学习简单的,然后总结经验,做出假设,最后证明推向所有情况)首先我们来看一下4bits中有2^4个数字。16个数字,那么-1 是15(因为是0000左边那个)那么刚好-1的那个值是15的二进制。1111,这是巧合么?可以继续探究,得出了第一种方法。我们首先计算有多少的值,然后减去它想要的数字,从而能知道这个数字的二进制码是多少。

关于正数呢?更简单了,它压根就是十进制,因为你观察十进制的1-7(4bits中)就是二进制的1-7,因为补码在这个时候并没有改变。

相关文章:

4:arm汇编语言4:bits/byte的介绍(ASCII码)与二进制补位

4.2 bits/byte的介绍与ASCII码的引入 这个是详细介绍计算机内部原理的基础,bits与byte其实这两个是计算机中非常重要的单位。首先看一下bits,它是一个基础的计算机单位。计算机单位?像长度单位是米,体重的单位是kg,你…...

C++实现仿安卓线程Handler、Message、Looper的功能

在java开发中,习惯使用Handler、Message来处理同步,比如对相机的操作(open、setParamters、start、stop、clost)全部抛到同一个线程处理,防止并发操作导致异常,这样保留给外部的统一接口就是安全的,无论外部哪些线程来…...

构建安全的用户登录API:从请求验证到JWT令牌生成

构建安全的用户登录API:从请求验证到JWT令牌生成 为了实现这个后端POST /api/users/login端点,我们可以使用Node.js和Express框架,并结合一些常用的库如jsonwebtoken、bcrypt和express-validator来处理验证和密码校验。下面是一个完整的示例…...

状态模式:封装对象状态并改变行为的设计模式

1. 引言 在软件开发中,某些对象的行为会随着其内部状态的变化而变化。传统的实现方式可能需要使用大量的条件语句,导致代码复杂且难以维护。状态模式(State Pattern)提供了一种有效的方法,通过将状态行为封装在状态类…...

备战“双11”丨AI+物流:你的快递会有什么变化?

背景 在中国,每天有数以亿计的包裹在运输,尤其在电商促销季如“双十一”、“618”期间,快递量更是激增。快递物流行业面临人员短缺、配送效率低下和物流承载能力有限等问题。快瞳科技提供的AI识别解决方案通过智能化手段提高工作效率和配送准…...

理解为什么要有C++设计模式

什么时设计模式? 每一个模式描述了一个在我们周围不断重复的问题以及该问题的解决方案的核心,这样,就能一次有一次地使用该方案,而不必做重复劳动。 如何解决复杂性? 分解:人们面对复杂性有一个常见的做法…...

模式匹配类型

一、匹配常量 在scala中,模式匹配可以匹配所有的字面量,包括字符串,字符,数字,布尔值等等 def describeConst(x:Any):String x match {case "str" > "匹配字符串"case > "匹配字符&…...

每天10个vue面试题(七)

1、Vue如何监听页面url中hash变化? 监听 $route 的变化:在Vue中,你可以使用watch属性来监听$route的变化。当路由发生变化时,会执行相应的处理函数。使用 window.location.hash:直接读取window.location.hash的值。这…...

如何在Linux系统中使用Apache HTTP Server

如何在Linux系统中使用Apache HTTP Server Apache简介 安装Apache 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 启动Apache服务 验证Apache是否正在运行 访问Apache默认页面 配置Apache虚拟主机 创建虚拟主机配置文件 示例虚拟主机配置 创建网站根目录 准备静态网站内…...

C++基于opencv的视频质量检测--画面冻结检测

文章目录 0.引言1. 原始代码分析2. 优化方案3. 优化后的代码4. 代码详细解读 0.引言 视频质量画面冻结检测已在C基于opencv4的视频质量检测中有所介绍,本文将详细介绍其优化版本。 1. 原始代码分析 图像抖动检测的原始代码: bool ScreenFreezeDetect…...

Day22 opencv图像预处理

图像预处理 在计算机视觉和图像处理领域,图像预处理是一个重要的步骤,它能够提高后续处理(如特征提取、目标检测等)的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法,常见的操作包括图像空间转换、图像大小调…...

QT中的定时器与计时器

目录 QTimer QTimer 的替代方案 API QElapsedTimer API 笔者写Qt的时候经常遇到需要定时完成任务的情况。举个例子:我写串口通信程序的时候需要定时向下位机发送数据。或者是定时任务周期性出发(更新时间等) 在Qt中,有两个非…...

国内AI大模型学习平台

据不完全统计,目前,国内有几大AI大模型学习平台可供选择: 1.昇思大模型平台:这是一个集算法选型、创意分享、模型实验和大模型在线体验于一体的AI学习与实践社区。 2.魔搭社区:提供AI模型、数据集和应用的开发与探索平…...

曹操出行借助 ApsaraMQ for Kafka Serverless 提升效率,成本节省超 20%

本文整理于 2024 年云栖大会主题演讲《云消息队列 ApsaraMQ Serverless 演进》,杭州优行科技有限公司消息中间件负责人王智洋分享 ApsaraMQ for Kafka Serverless 助力曹操出行实现成本优化和效率提升的实践经验。 曹操出行:科技驱动共享出行未来 曹操…...

深入理解数据库的三范式

数据库设计中的范式(Normal Form)是用于规范数据存储结构、消除冗余以及保证数据一致性的重要原则。范式的概念有多种层次,常用的前三种称为第一范式(1NF)、第二范式(2NF)和第三范式&#xff08…...

P11233 [CSP-S 2024] 染色

P11233 [CSP-S 2024] 染色 难度:提高/省选-。 考点:DP。 题意: 给定 n n n 个数 A i A_i Ai​,对 A i A_i Ai​ 进行染色,只有两种颜色。设 C C C 为 A A A 染色后的数组。 如果 A i A_i Ai​ 左侧没有预期同…...

图传推流学习(敬请期待)

图传推流简介 1.RTSP、RTP与RTCP2.搭建rtsp服务器(资源下载)3.搭建rtsp服务器(搭建过程) 1.RTSP、RTP与RTCP RTSP(Real Time Streaming Protocol)、RTP(Real-time Transport Protocol&#xff0…...

【JavaGuide】十大经典排序算法总结

冒泡排序 算法步骤 不断的两两比较&#xff0c;这样当前最大的元素总是会排在最后面。所以称为冒泡。 图解算法 代码实现 public static int[] bubbleSort(int[] arr) {// i是排好了几个数for (int i 1; i < arr.length; i) {// flag标记当前循环是否调整了顺序&#xff0c…...

程序中怎样用最简单方法实现写excel文档

很多开发语言都能找到excel文档读写的库&#xff0c;但是在资源极其受限的环境下开发&#xff0c;引入这些库会带来兼容性问题。因为一个小功能引入一堆库&#xff0c;我始终觉得划不来。看到有项目引用的jar包有一百多个&#xff0c;看着头麻&#xff0c;根本搞不清谁依赖谁。…...

《机器学习与人类学习:比较、融合与未来展望》

《机器学习与人类学习&#xff1a;比较、融合与未来展望》 一、引言二、机器学习的概念与发展&#xff08;一&#xff09;机器学习的定义与分类&#xff08;二&#xff09;机器学习的发展历程&#xff08;三&#xff09;机器学习的应用领域 三、人类学习的本质与过程&#xff0…...

免费开源甘特图工具GanttProject:从任务混乱到清晰可视化的完整解决方案

免费开源甘特图工具GanttProject&#xff1a;从任务混乱到清晰可视化的完整解决方案 【免费下载链接】ganttproject Official GanttProject repository 项目地址: https://gitcode.com/gh_mirrors/ga/ganttproject 还在为项目管理中的任务混乱、进度模糊而烦恼吗&#x…...

AI编程助手DeepSeek Coder:代码生成效率提升指南

AI编程助手DeepSeek Coder&#xff1a;代码生成效率提升指南 【免费下载链接】DeepSeek-Coder DeepSeek Coder: Let the Code Write Itself 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder 在软件开发领域&#xff0c;开发者每天面临着重复编码、多语…...

MTools开箱即用:5分钟在K8s部署Web版AI工具,图片音视频全能处理

MTools开箱即用&#xff1a;5分钟在K8s部署Web版AI工具&#xff0c;图片音视频全能处理 1. 为什么选择MTools Web版 MTools Web版是一款集成了图片处理、音视频编辑、AI智能工具和开发辅助功能的现代化工具套件。与传统的桌面软件不同&#xff0c;它可以直接在浏览器中运行&a…...

Qwen3.5-9B多模态能力解析:图文输入联合建模+VL变体兼容性说明

Qwen3.5-9B多模态能力解析&#xff1a;图文输入联合建模VL变体兼容性说明 1. 模型概述与核心能力 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型&#xff0c;在多模态理解和长上下文处理方面展现出卓越性能。作为当前开源社区的重要贡献&#xff0c;该模型特别强化了图文联合…...

GG3M 项目独家原创理论:元模型的形式化结构

GG3M 项目独家原创理论&#xff1a;元模型的形式化结构本元模型是GG3M 贾子公理体系的形式化数学内核&#xff0c;是对全尺度复杂系统&#xff08;个人认知、企业经营、城市治理、国家战略、文明演化&#xff09;底层规律的顶层抽象&#xff0c;是 GG3M 所有子模型、应用场景、…...

Mojo结构体直传Python内存视图:零序列化跨语言数据流实现(附GDB内存布局验证截图)

第一章&#xff1a;Mojo结构体直传Python内存视图&#xff1a;零序列化跨语言数据流实现&#xff08;附GDB内存布局验证截图&#xff09;Mojo 通过其底层 value 和 parameter 机制&#xff0c;允许结构体在不触发拷贝或序列化的情况下&#xff0c;直接暴露为 Python 的 memoryv…...

Phi-3-vision-128k-instruct Vue3前端集成实战:构建智能图像分析Web应用

Phi-3-vision-128k-instruct Vue3前端集成实战&#xff1a;构建智能图像分析Web应用 1. 引言&#xff1a;当Vue3遇见多模态AI 想象一下&#xff0c;你正在开发一个电商网站&#xff0c;需要让系统自动识别用户上传的商品图片并生成详细描述。传统方案要么依赖人工标注&#x…...

C标准库缓冲区溢出问题与安全编程实践

1. C标准库缓冲区溢出问题概述缓冲区溢出是C语言开发中最常见的安全漏洞之一。作为一名有十年经验的嵌入式开发者&#xff0c;我见过太多由于不当使用标准库函数导致的崩溃和安全问题。缓冲区溢出通常发生在程序向固定大小的缓冲区写入超过其容量的数据时&#xff0c;多余的数据…...

新手福音:在快马平台用自然语言生成你的第一个powershell脚本

今天想和大家分享一个特别适合 PowerShell 新手的入门实践。作为一个从零开始学习 PowerShell 的菜鸟&#xff0c;我发现用自然语言描述需求就能生成可运行的脚本&#xff0c;这个体验真的太友好了。 变量定义与数据结构 刚开始学习时&#xff0c;最基础的就是理解变量和数据结…...

OpenClaw多语言支持:Qwen2.5-VL-7B跨语种图文处理技巧

OpenClaw多语言支持&#xff1a;Qwen2.5-VL-7B跨语种图文处理技巧 1. 为什么需要多语言图文处理 上周我收到一份混合了英文技术文档和中文注释的项目资料&#xff0c;需要整理成统一格式的双语对照版本。手动复制粘贴到翻译工具再调整排版&#xff0c;花了我整整三个小时。这…...