首页 > 其他分享 >Chapter2_

Chapter2_

时间:2024-07-04 12:43:07浏览次数:21  
标签:0000 Exponent float Chapter2 1111 126 127

1.关于溢出的问题
运算一定要注意溢出问题,溢出是一个很重要的问题;
在一种整数类型中,它的最小取值的负数等于它本身;
如short(-32768~32767), -(-32768) = -32768
如int(-2147483648~2147483647), -(-2147483648) = -2147483648
如long long(-9223372036854775808~9223372036854775807), -(-9223372036854775808) = 9223372036854775808
当然这种等于需要保持取负时,类型保持不变。

2.关于大小端的问题
大部分系统采用小端(Little Endian),少数系统采用大端(Big Endian)
小端即低地址放低位,高地址放高位。

3.关于浮点数的表示问题
我们存储浮点数分为三个区域:
这里以float为例
(1)符号区(Sign)(1bit), (2)指数区(Exponent)(8bit), (3)分数区(Fraction)(23bit)
我们需要注意到:分数区仅表示了小数部分,因为整数部分必定为1,这里省略掉一个bit用来存值。

但是当我们直接进行比较两个float大小时,可能会得到错误的结果

这里把二进制表示看作一个整体比较,会得到1/2 > 2的结果,这显然是不正确的。
于是IEEE采用了另一种偏移比较法,我们看下面的一组数:

这组数忽略了符号位,将全部的位都看作一个整体比较,它们实际上实现了一种偏移,0000本来是0, 0-7 = -7, 1111本来是15, 15-7=8
我们可以看到,整体的大小就代表了实际的大小,那么我们就可以使用这种性质。

我们只看Exponent区的8bit,-1=126-127,所以在Exponent区我们用126来代表-1,同理1=128-127我们用128来代表1
这样我们再直接比较就能够得到1/2 < 2的结果
因为float的Exponent区为8bit,故偏移量为127(2^7-1); double的Exponent区为11bit,故偏移量为127(2^10-1);
Exponent区的值 = 真实幂次 + 偏移量

3.关于浮点数的范围问题
(1)float
Exponent区我们保留了0000 0000和1111 1111另作他用
最小值:
Exponent最小值为0000 0001,即1,真实值 = Exponent区的值 - Exponent区的值 = 1 - 127 = -126
Fraction最小值为0000 0000即为1 + 0.0 = 1.0,
故小表示范围为±1.02^-126 ≈ ±1.210^-12
最大值:
Exponent最大值为1111 1110,即254,真实值 = Exponent区的值 - Exponent区的值 = 254 - 127 = +127
Fraction最小值为1111 1111 ≈ 1 + 1 = 2,
故小表示范围为±2.02^127 ≈ ±3.410^38

(2)double同理

标签:0000,Exponent,float,Chapter2,1111,126,127
From: https://www.cnblogs.com/bmr429/p/18283644

相关文章

  • 神经网络与深度学习 Chapter2 线性分类与感知机
    Chapter2线性分类与感知机2.1线性回归线性回归定义:利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。线性回归要素:训练集(或训练数据),一般记为x......
  • 【概率论与数理统计】Chapter2 随机变量及其分布
    随机变量与分布函数随机变量随机变量:一个随机变量是对随机现象可能的结果的一种数学抽象分布函数分布函数:X为随机变量,F(x)......
  • Reinforcement Learning Chapter2
    本文参考《ReinforcementLearning:AnIntroduction(2ndEdition)》SuttonK臂赌博机问题描述:你有k个选择,每个选择对应一个奖励,收益由所选动作决定的平稳概率分布产生,目标为最大化某段时间内的总收益期望。联系我们在chapter1中提到的reward,value,action等概念,我们在这个K臂赌博机......
  • chapter2-暴力求解
    1、枚举对所有可能的情况进行枚举。面对枚举类型的题目,在想到思路的时候,要习惯于分析一下这种方法的复杂度是多少,结合题目的数据量分析这样的方法是否可行,然后再动手写代码,节约时间。计算机1000MS,大约可进行10^7次运算。所以,常见的代码时间复杂度,1秒内可接受的数据量如下表:......
  • xv6book阅读 chapter2
    一个操作系统至少应该满足三个需求:多路复用、隔离、交互。本章主要介绍如何组织操作系统来实现以上的三个需求,本文关注的是一种围绕单核进行设计的方法,这种设计是被许多uinx操作系统所使用的。Xv6运行在多核RISC-V微处理器上时,它的许多低级功能(例如,它的进程实现)是特定于RISC-V的......
  • 强化学习Chapter2——优化目标(2)
    强化学习Chapter2——优化目标(2)上文推导出强化学习的一般性目标,即不做确定性假设下的优化目标,得到了下面两个式子:\[P(\tau|\pi)=\rho_0(s_0)\prod^{T-1}_{t=0}P(s_{t+1}|s_t,a_t)\pi(a_t|s_t)\\J(\pi)=\int_\tauP(\tau|\pi)R(\tau)=E_{\tau\sim\pi}[R(\tau)]\]我们的目标就......
  • 强化学习Chapter2——优化目标(1)
    强化学习Chapter2——优化目标(1)上节涉及强化学习基本思路以及利用数学方式表征强化学习,但对强化学习的目标并没有进行详尽的定义。本节的目标旨在介绍algorithm-free的优化目标,即本文将不涉及算法地详述强化学习的目标。强化学习一般性目标上文提到,强化学习的目标可以解释为:......
  • chapter2-R的数据结构
    chapter2-R的数据结构R语言的数据结构分为5种类型:标量,向量,矩阵,列表,数据框向量-c()c()构建成的仅包含数值型、字符型、逻辑型数据的一维数组a<-c(1,2,3,4,5) ###数值型的向量b<-c('one','two','three')  ###字符型数据c<-c(T,F) ##逻辑型数据向量中元素的......
  • Chapter2 figure 基本用法
    figure基本用法importmatplotlib.pyplotaspltimportnumpyasnp#figure可以理解为表示图像的窗口#我们可以创建多个窗口#该代码的作用就是将每一个函数都分别显示在单独的figure中x=np.linspace(-3,3,50)y1=2*x+1y2=x**2'''figure参数有:第一个:num......
  • Chapter2 K-近邻算法案例1
    案例2:使用K-近邻算法实现手写数字系统1.案例要求编写一个程序,应用K-近邻算法,实现手写数字系统。通过画图生成一个32*32的数字图像,再将图像转化为代表数字的0-1文本文件。之后往程序输入代表数字的0-1文本文件,程序便可以输出相应的数字。2.案例的执行流程示例......