1.信息的表示和处理

news2025/1/15 16:52:52

基础

进制转换

10-2

字数据大小

在这里插入图片描述
在这里插入图片描述

寻址和字节顺序(大小端)

在这里插入图片描述
01 23 45 67
大端法:最高有效字节(01)在最前面(相当于正序)
小端法:最低有效字节(67)在最前面(相当于不彻底倒序

移位

逻辑右移:左侧补k个0
算术右移:左侧补k个符号位

异或^

系统习题10:swap

void inplace_swap(int *x,int *y){
	*y = *x ^ *y;
	*x = *x ^ *y;
	*y = *x ^ *y;
}

每个元素是自己的逆元,x ^ x = 0

整数

整数表示

原码00

最高有效位是符号位
[+0]=0,0000
[-0]=1,0000
-1无法表示

补码

在这里插入图片描述
补码范围形如:[-128,127]
按位取反,末位加1
[+0.0000]=[-0.0000]=0.00000
由y求(-y):连同符号位,按位取反,末位加1
现代机器使用补码较多,主存地址通常用无符号数表示

反码00

最高有效位的权重是-7
按位取反
[+0]=0,0000
[-0]=1,1111

移码

与补码仅符号位不同

类型转换

只是改变解释方式
注意min、0、-1等特殊值

整数运算

无符号数的非,0的逆元是0
补码的非,Tmin的非是Tmin

加法

  • 无符号数加法的溢出判断
    s<x或s<y
  • 补码加法的溢出判断
    (1)单符号位
    正溢出:x>0并且y>0,但s<=0
    负溢出:x<0并且y<0,但s>=0
    在这里插入图片描述
    (2)Cs是符号位进位,C1是最高数位进位
    在这里插入图片描述
    (3)双符号位
    在这里插入图片描述
  • 补码求反
    -x和~x+1结果相同(逐位取反再加1)

零标志ZF,都有意义
溢出标志OF:有符号整数运算时溢出
符号标志SF:结果的符号,对无符号数无意义
进/借位标志CF:无符号整数的进位/借位

乘法

T**和U*的位级等价性

在这里插入图片描述在这里插入图片描述
截断后,无符号数的乘积=补码的乘积

booth(补码比较法):

其中,Yn和Yn+1是乘数的后两位
在这里插入图片描述
在这里插入图片描述

除法

整数除法总是向0舍入
U/:向0舍入
T/:
若不加偏量,算术右移,向下舍入
加偏量 ((1<<k)-1),算术右移,向0舍入

在这里插入图片描述

浮点数

IEEE754标准

在这里插入图片描述
N=(-1)s X M X RE
数符S
尾数M:原码小数表示,范围是(1,2-a)或(0,1-a)
阶码E:用移码表示
基数R:2、4、16等
在这里插入图片描述

系统习题6:int->float

3510593.0的float
(3510593)2 = 0011 0101 1001 0001 0100 0001 = 1.1 0101 1001 0001 0100 0001X1021
float的小数为23位,需要补2个0,省略小数点前面的1
小数部分:1 0101 1001 0001 0100 0001 00
阶码:21+bias=21+127=148=(1001 0100)2
完整float:0 1001 0100 1 0101 1001 0001 0100 0001 00
符号1 + 阶码8 + 小数23=float32位
3510593的int与 3510593.0的float 有21位重合(平移2位后重合)

规格化

在这里插入图片描述
规格化的值
阶码E=e-bias
对于float,e的范围(1,28-1-1=254),bias=28-1-1=127,所以E的范围(-126,127)
尾数M=1+f,隐含的以1开头

非规格化的值
阶码E=1-bias
尾数M=f,没有隐含的开头的1
从非规格化值平滑转换到规格化值
表示那些非常接近0.0的数,逐渐溢出,可能的数值分布均匀地接近于0.0

对于4位阶码,3位尾数的浮点格式,bias=7
正负0
最小非规格化正数E=1-bias=-6,尾数M=f=001=1/8,值为2-6X2-3
最大非规格化正数E=1-bias=-6,尾数M=f=111=7/8,值为2-6X(1-2-3)
最小规格化正数E=0001-bias=-6,尾数M=1+f=1,值为2-6X1
最大规格化正数E=1110-bias=7,尾数M=1+f=15/8,值为27X(2-2-3)

规格化:
基数为2时,1/2<=|尾数|<1,即最高位为1

向偶数舍入:只对于中间值
在这里插入图片描述

运算

==图片==

舍入

  • 0舍1入:若被移去的最高数值位是1,则在末尾+1(四舍五入)
  • 恒置1:尾数末位恒置1

溢出判断

  • 阶码[j]=01,…为上溢
  • 阶码[j]=10,…为下溢,按机器零处理

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

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

相关文章

Ceph入门到精通-CrushMap算法概述

下面是伪代码object到osd的伪代码 locator =object_name obj_hash =hash(locator) pg =obj_hash %num_pg OSDs_for_pg =crush(pg) # returns a list of OSDs primary =osds_for_pg[0] replicas =osds_for_pg[1:] defcrush(pg): all_osds=[osd.0,osd.1,osd.2,...] resu…

【Linux内核解析-linux-5.14.10-内核源码注释】内核常用链表宏解释

1、list_for_each_entry_safe 这段代码是一个宏定义&#xff0c;用于遍历一个链表中所有的元素&#xff0c;并且在遍历过程中可以安全地删除元素。具体来说&#xff0c;这个宏定义的功能是&#xff1a; 遍历链表中所有的元素&#xff0c;从头节点开始&#xff0c;直到尾节点结束…

读SQL进阶教程笔记15_SQL编程思维

1. 还原论 1.1. 认为可以把高级现象还原为低级基本现象的学说 1.2. 将复杂的东西看成是由简单单元组合而成的 1.2.1. 以赋值、条件分支、循环等作为基本处理单元&#xff0c;并将系统整体分割成很多这样的单元的思维方式 1.2.2. 文件系统也是将大量的数据分割成记录这样的小…

DOM事件(中)

常见的事件分类&#xff08;了解&#xff09; ●我们在写页面的时候经常用到的一些事件 ●大致分为几类&#xff0c;浏览器事件 / 鼠标事件 / 键盘事件 / 表单事件 / 触摸事件 ●不需要都记住&#xff0c;但是大概要知道 鼠标事件 ●click &#xff1a;点击事件 ●dblclick &a…

Python小姿势 - # 如何使用Python爬取网页数据

如何使用Python爬取网页数据 今天我们来学习一下如何使用Python来爬取网页数据。 首先&#xff0c;我们需要准备一个空白的文件&#xff0c;在文件中输入以下代码&#xff1a; import requests url http://www.baidu.com r requests.get(url) print(r.text) 上面的代码中&…

宝宝腹泻怎么办?儿科医生分享小儿腹泻的辩证和处理方法

小儿腹泻病是婴幼儿时期的常见病。面对腹泻&#xff0c;很多父母往往不知所措&#xff0c;甚至不知道该怎么处理&#xff0c;只能带宝宝去医院治疗。由于腹泻具有反复性&#xff0c;稍有护理不当&#xff0c;甚至会加重病情。那么&#xff0c;小儿腹泻药如何处理呢&#xff1f;…

微服务---Redis实用篇-黑马头条项目-登录功能(短信验证缓存,用户信息缓存)

黑马头条项目-登录功能(短信验证缓存,用户信息缓存) 1、短信登录 1.1、导入黑马点评项目 1.1.1 、导入SQL 1.1.2、有关当前模型 手机或者app端发起请求&#xff0c;请求我们的nginx服务器&#xff0c;nginx基于七层模型走的事HTTP协议&#xff0c;可以实现基于Lua直接绕开t…

Android之WindowManager介绍

WindowManager android中真正展示给用户的是window和view. activity在android中所其的作用主要是处理一些逻辑问题&#xff0c;比如生命周期的管理、建立窗口等。 在android中&#xff0c;窗口的管理还是比较重要的一块&#xff0c;因为他直接负责把内容展示给用户&#xff…

11.streamFile

1.Stream流 1.1体验Stream流【理解】 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素把集合中所有以"张"开头的元素存储到一个新的集合把"张"开头的集合中的长度为3的元素存储到一个新的集合遍历上一步得到的集…

05-微服务部署2023系列-centos+docker部署redis(单机版)

1、创建数据挂载目录 mkdir /root/docker/redisCluster/redis1/data -p 2、部署并启动命令 docker run -itd --privileged=true --name redisMaster -p 19000:6379 -v /root/docker/redisCluster/redis1/data:/data redis --appendonly yes --requirepass "myRedisPass123…

美颜sdk的开发流程及其在不同平台上的适用性比较

当下&#xff0c;在开发美颜功能时&#xff0c;美颜sdk成为了不可或缺的工具。近期&#xff0c;很多开发者向小编提问开发美颜的一些专业技术问题。本篇文章&#xff0c;小编将为大家统一解答一下近期的热门问题。 一、开发流程 1、确定美颜算法 美颜算法是美颜sdk的核心&a…

【Linux下】进程间通信

文章目录 进程间通信进程间通信的目的进程间通信的分类进程间通信的本质 管道初识管道匿名管道创建匿名管道理解协同机制和原子性写入 命名管道命名管道创建的俩种方式使用命名管道实现俩个不同进程之间通信 **管道实现进程间通信的本质**匿名管道vs命名管道 system Vsystem V共…

【Linux】进程概述和进程状态转换(查看进程、实时显示进程动态、杀死进程等)

目录 进程概述进程状态转换进程的状态进程相关命令 橙色 进程概述 进程是正在运行的程序的实例&#xff0c;是基本的分配单元也是基本的执行单元。 可以用一个程序来创建多个进程&#xff0c;进程是由内核定义的抽象实体&#xff0c;并为该实体分配用以执行程序的各项系统资源…

【Jmeter快速入门】

Jmeter快速入门 Jmeter快速入门1.安装Jmeter1.1.下载1.2.解压1.3.运行 2.快速入门2.1.设置中文语言2.2.基本用法 Jmeter快速入门 1.安装Jmeter Jmeter依赖于JDK&#xff0c;所以必须确保当前计算机上已经安装了JDK&#xff0c;并且配置了环境变量。 1.1.下载 可以Apache Jm…

git在vs可视化界面下变基操作

vs版本&#xff1a;vs2022 天天都在使用git&#xff0c;听说过变基这个名词&#xff0c;但是并没有实操过变基&#xff0c;正好今天有个同事说起一件事情&#xff1a;提交代码的时候有太多的自动合并&#xff0c;如果需要回退版本&#xff0c;操作起来很困难&#xff0c;理想状…

如何在项目中实现登录时的验证码校验功能?

如何在项目中实现登录时的验证码校验功能&#xff1f; 第一步&#xff1a;创建项目&#xff0c;添加依赖第二步&#xff1a;验证码配置&#xff08;CaptchaConfig类&#xff09;第三步&#xff1a;创建CaptchaController第四步&#xff1a;测试注意问题 这里介绍一款老牌的验证…

使用@Resource注解和@Inject注解

1.Resource和Inject概述 1.1.Resource注解 Resource注解是Java规范里面的&#xff0c;也可以说它是JSR250规范里面定义的一个注解。该注解默认按照名称进行装配&#xff0c;名称可以通过name属性进行指定&#xff0c;如果没有指定name属性&#xff0c;当注解写在字段上时&…

KCC南京成立会议如期举办

1915年9月15日&#xff0c;陈独秀等人在上海创立了《新青年》杂志&#xff0c;掀起了中华新文化思潮。接着&#xff0c;在1919年5月4日&#xff0c;陈独秀、李大钊等人发起了五四运动&#xff0c;唤醒了沉睡多年的东方巨狮。从此&#xff0c;五四青年节便成为了青年人的节日。 …

上市后首份财报,紫燕食品去年净利下降超3成

近日&#xff0c;上海紫燕食品股份有限公司&#xff08;下称“紫燕食品”,603517.SH&#xff09;交出了上市后的首份年报。 去年9月26日&#xff0c;紫燕食品在上交所主板上市&#xff0c;成为继绝味食品&#xff08;603517.SH&#xff09;、周黑鸭&#xff08;01458.HK&#…

Jetpack Compose 中的Deep Linking — Android

Jetpack Compose 中的Deep Linking — Android 在本文中&#xff0c;我们将学习如何在 Jetpack Compose 中轻松实现深度链接。 什么是深度链接&#xff1f; 深层链接允许用户直接从外部来源&#xff08;例如网站或其他应用程序&#xff09;导航到应用程序内的特定内容。 添…