首页 > 其他分享 >浮点数储存

浮点数储存

时间:2024-10-23 23:18:22浏览次数:6  
标签:储存 符号 有效数字 double 浮点数 float

大家好,今天给大家分享一下浮点数在我们内存中是如何储存的,就通过一道题来跟大家讲解

23f2a28ece1142f5a1bc67ac7a40eb3e.png

通过上面这段代码的结果可以看出整形储存和浮点数储存是不相同的, 其实浮点数储存又符号位(1bit),指数位(8bit或11bit)和有效数字位(23bit或52bit)三部分构成(float和double)

符号位是用来判断正负的,0为正1为负,指数最大能储存255次方 但是因为它的储存这是个无符号的类型,所以每次储存是使用中间值来加减后再储存(float:127,double:1023)

最后就是有效数字位,根据IEEE754标准规定,第一个数必须为1,标准储存为1.xxxxxxx

然后根据移动的位数来计算次方数,在储存时1并不计入储存有效数字位(为了节省字节空间),当我们拿出这个数据是1会自动加上

这就是我今天分享的内容了,谢谢大家!

1c61accd393842a58f7a2e62e09d5ef9.png

标签:储存,符号,有效数字,double,浮点数,float
From: https://blog.csdn.net/2403_86949771/article/details/143196189

相关文章

  • CPU与储存器连接(例题讲解)
    (1)地址线的连接         CPU的地址线数量往往比存储芯片的地址线数量要多。通常将CPU地址线的低位与存储芯片的地址线相连接,CPU地址线的高位用作对芯片的控制或其他用途。(2)数据线的连接        CPU的数据线数量也比存储芯片的数据线的数量要多。此时,必须对......
  • 【C++】原地逆置单链表(不开辟新的储存空间)
    首先看图例:创建一个单链表L,并用指针p指向需要逆置的第一个结点,s指向p的下一个。(这里s的作用是为了防止p后的结点丢失) 第一个结点逆置后成为最后一个,所以其后为NULL,即p->next=NULL(其他结点正常头插)用s指向了的p之后的结点,所以它们不会丢失。第一个结点接上后,p、s重新指向......
  • 深入理解浮点数的运算
    浮点数的运算步骤浮点数的加减运算一般由以下五个步骤完成:对阶、尾数运算、规格化、舍入处理、溢出判断所谓对阶是指将两个进行运算的浮点数的阶码对齐的操作。对阶的目的是为使两个浮点数的尾数能够进行加减运算。因为,当进行$M_{x}\times2^{E_{x}}$与$M_{y}\times2^{E......
  • 深入理解浮点数的表示
    浮点数的表示通常,浮点数表示为:\[N=(-1)^{S}\timesM\timesR^{E}\]其中,S取值为0或者1,用来决定浮点数的符号;M是一个二进制定点小数,称为尾数,一般用定点原码小数表示;E是一个二进制顶点整数,称为阶码或者指数,用移码表示。R是基数(隐含),可以约定为2、4、16等浮点数的表示范围......
  • 计算机组成原理之浮点数的加减运算
    计算机组成原理之浮点数的加减运算主要涉及以下几个步骤:1、对阶:由于浮点数的阶码不同,小数点位置不同,不能直接进行尾数加减。首先求两数阶码之差,通过小数阶向大数阶看齐的原则,对阶码小的尾数进行移位(右移),每右移一位,阶码加1,直到两数阶码相等。2、尾数加减:对阶后,尾数的小数点......
  • 浮点数取整数部分
    在C语言中,可以通过以下几种方法获取浮点数的整数部分(不进行四舍五入):1.类型转换法(简单):直接将浮点数转换为整数类型,舍弃小数部分。#include<stdio.h>intmain(){floatf=123.456;inti=(int)f;//i的值为123printf("整数部分:%d\n",i);......
  • 计算机存储浮点数
    计算机存储浮点数Acomputerstoresfloating-pointnumbersusingastandardizedformatcalledIEEE754.Thisformatisdesignedtorepresentrealnumbersinawaythatbalancesrangeandprecision.Here'showitworks:BasicStructureofIEEE754Floating-Poi......
  • 浮点数在内存中的存储
    1简介常见的浮点数:3.14159、1E10等1E10==1*10的10次方浮点数家族包括:float、double、longdouble类型。浮点数表示的范围:float.h中定义2问题提出我们首先来看一串代码#include<stdio.h>intmain(){intn=9;float*pFloat=(float*......
  • 计算机中的浮点数
    错题考的知识点是计算机中的浮点数表示。浮点数表示是计算机科学中用于表示实数的一种方法。在计算机中,浮点数通常使用IEEE754标准进行表示,该标准定义了浮点数的存储方式和运算规则。浮点数的表示包括三个主要部分:符号位、尾数(有效数字)和阶码(指数)。符号位:用于表示数值的正负,......
  • 无法精确的浮点数
    老师给出的TestDouble.java,经过运行测试,发现两个浮点数相加得数竟然竟然不对0.05+0.01=0.060000000000000005,1.0-0.42=0.5800000000000001,4.015*100=401.49999999999994,不是不对,而是不精确.这是时候想起自己大一写的代码,浮点数判等.一直都是做差绝对值在一个......