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

float存储原理

float存储原理基于IEEE 754标准,主要包括符号位、指数位和有效数字位三部分。以下是对其存储原理的具体介绍:

  1. 符号位:符号位是浮点数中用于表示正负的位。在单精度浮点数(32位)中,最左边的第1位是符号位,0代表正数,1代表负数。
  2. 指数位:指数位用于表示浮点数的范围。对于单精度浮点数,接下来的8位是指数位,它使用偏移量(bias)的形式来表示实际的指数值,以便能够表示包括正数和负数在内的更广泛的数值范围。
  3. 有效数字位:尾数位(或称为小数位、有效数字位)是跟随指数位之后的位数,用于表示浮点数的精确度。在单精度浮点数中,最后23位是有效数字位,这些位直接决定了数值的精度。

总的来说,float类型的存储原理是一个复杂但极其重要的计算机科学概念,它支撑着现代计算机系统中对非整数的高效表达和计算。

假设我们有一个单精度浮点数,它的二进制表示为:01000000011111111111000000000000

根据IEEE 754标准,我们可以将其分解如下:

  • 符号位(S):0,表示这是一个正数。
  • 指数位(E):01000000,转换为十进制是64
  • 有效数字位(M):11111111111100000000000

现在,我们需要计算实际的有效数字值。由于指数位的值是64,所以我们需要减去偏移量(bias),对于单精度浮点数,偏移量为127。因此,实际的指数值为 64 - 127 = -63

接下来,我们需要将有效数字位转换为十进制小数形式。由于有效数字位的长度为23位,我们需要将其转换为一个介于1和2之间的小数。首先,我们将有效数字位转换为二进制小数:

1.111111111100000000000

然后,我们将这个二进制小数转换为十进制小数:

1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256 + 1/512 + 1/1024 + 1/2048 + 1/4096 + 1/8192 + 1/16384 + 1/32768 + 1/65536 + 1/131072 + 1/262144 + 1/524288 + 1/1048576 + 1/2097152 + 1/4194304

最后,我们得到的十进制小数值为:

1.99999999999999989

所以,原始的单精度浮点数可以表示为:

(-1)^0 * (1.99999999999999989) * 2^(-63)

这就是有效数字位在浮点数存储中的作用,它帮助我们精确地表示非整数数值。

|

相关文章:

float存储原理

float存储原理基于IEEE 754标准,主要包括符号位、指数位和有效数字位三部分。以下是对其存储原理的具体介绍: 符号位:符号位是浮点数中用于表示正负的位。在单精度浮点数(32位)中,最左边的第1位是符号位&a…...

DAY 9 - 10 : 树

树的概念 定义 树(Tree)是n(n≥0)个节点的有限集合T,它满足两个条件 : 1.有且仅有一个特定的称为根(Root)的节点。 2.其余的节点可以分为m(m≥0)个互不相交的…...

【python计算机视觉编程——9.图像分割】

python计算机视觉编程——9.图像分割 9.图像分割9.1 图割安装Graphviz下一步:正文9.1.1 从图像创建图9.1.2 用户交互式分割 9.2 利用聚类进行分割9.3 变分法 9.图像分割 9.1 图割 可以选择不装Graphviz,因为原本觉得是要用,后面发现好像用不…...

北斗赋能万物互联:新质生产力的强劲驱动力

在数字化转型的大潮中,中国自主研制的北斗卫星导航系统,作为国家重大空间基础设施,正以前所未有的力量推动着万物互联时代的到来,成为新质生产力发展的重要基石。本文将深入剖析北斗系统如何以其独特的技术优势和广泛应用场景&…...

时序预测 | Matlab实现GA-CNN遗传算法优化卷积神经网络时间序列预测

时序预测 | Matlab实现GA-CNN遗传算法优化卷积神经网络时间序列预测 目录 时序预测 | Matlab实现GA-CNN遗传算法优化卷积神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 | Matlab实现GA-CNN遗传算法优化卷积神经网络时间序列预测&#xff…...

如何保证消息不重复消费

在使用消息队列(Message Queue, MQ)时,确保消息不被重复消费是非常重要的,因为重复消费可能导致数据不一致或者业务逻辑出错。要保证消息不被重复消费,可以采取以下几种策略: 1. 消息确认机制 大多数消息…...

HTTP请求工具类

HTTP请求工具类 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;public class HttpUtils {/*** 发送GET请求并获取响应结果* * param url 请求的URL* return 响应结果…...

谷歌的 DataGemma 人工智能是一个统计精灵

谷歌正在扩大其人工智能模型家族,同时解决该领域的一些最大问题。 今天,该公司首次发布了 DataGemma,这是一对开源的、经过指令调整的模型,在缓解幻觉挑战方面迈出了一步,幻觉是指大型语言模型(LLM&#xf…...

【Python爬虫系列】_021.异步请求aiohttp

课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈...

源码运行springboot2.2.9.RELEASE

1 环境要求 java 8 maven 3.5.2 2 下载springboot源码 下载地址 https://github.com/spring-projects/spring-boot/releases/tag/v2.2.9.RELEASE 3 修改配置 修改spring-boot-2.2.9.RELEASE/pom.xml 修改spring-boot-2.2.9.RELEASE/spring-boot-project/spring-boot-tools…...

王者荣耀改重复名(java源码)

王者荣耀改重复名 项目简介 “王者荣耀改重复名”是一个基于 Spring Boot 的应用程序,用于生成王者荣耀游戏中的唯一名称。通过简单的接口和前端页面,用户可以输入旧名称并获得一个新的、不重复的名称。 功能特点 生成新名称:提供一个接口…...

Python 全栈系列271 微服务踩坑记

说明 这个坑花了10个小时才爬出来 碰到一个现象:将微服务改造为并发后,请求最初很快,然后就出现大量的失败,然后过一会又能用。 过去从来没有碰到这个问题,要么是一些比较明显的资源,或者逻辑bug&#xff0…...

环境搭建2(游戏逆向)

#include<iostream> #include<windows.h> #include<tchar.h> #include<stdio.h> #pragma warning(disable:4996) //exe应用程序 VOID PrintUI(CONST CHAR* ExeName, CONST CHAR* UIName, CONST CHAR* color, SHORT X坐标, SHORT y坐标, WORD UIwide, W…...

快手自研Spark向量化引擎正式发布,性能提升200%

Blaze 是快手自研的基于Rust语言和DataFusion框架开发的Spark向量化执行引擎&#xff0c;旨在通过本机矢量化执行技术来加速Spark SQL的查询处理。Blaze在快手内部上线的数仓生产作业也观测到了平均30%的算力提升&#xff0c;实现了较大的降本增效。本文将深入剖析blaze的技术原…...

用网卡的ap模式抓嵌入式设备的网络包

嵌入式设备不像pc上&#xff0c;有一些专门的工具比如wareshark来抓包&#xff0c;嵌入式设备中&#xff0c;有的可能集成了tcpdump&#xff0c;可以用来进行简单的抓包&#xff0c;但是不方便分析&#xff0c;况且有的嵌入式设备不一定就集成了tcpdump工具。 关于tcpdump工具…...

centos 7 升级Docker 与Docker-Compose 到最新版本

一 升级docker 可参考docker官方升级 1, 查看docker 信息 docker info 2,查看docker 版本 docker --version 3 升级前 可停止docker : sudo systemctl stop docker 4 查看已安装的docker 并卸载 [rootlocalhost docker]# yum list installed | grep docker docker.x86…...

Docker_启动redis,容易一启动就停掉

现象以及排查过程 最近在使用docker来搭建redis服务&#xff0c;但是在启动redis哨兵容器时&#xff0c;总是发现这个容器启动后立马就停止了。首先想到的是不是服务器资源不够用了导致的这个现象&#xff0c;排查后发现不是资源问题。再者猜测是不是启动报错了&#xff0c;查看…...

微服务中间件之Nacos

Nacos&#xff08;Dynamic Naming and Configuration Service&#xff09;是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它提供了服务注册与发现、配置管理以及服务健康监测等核心功能&#xff0c;旨在帮助开发人员更轻松地构建和管理微服…...

C++: 类和对象(上)

&#x1f4d4;个人主页&#x1f4da;&#xff1a;秋邱-CSDN博客☀️专属专栏✨&#xff1a;C&#x1f3c5;往期回顾&#x1f3c6;&#xff1a;从C语言过渡到C&#x1f31f;其他专栏&#x1f31f;&#xff1a;C语言_秋邱 ​ 面向过程和面向对象 C 语言被认为是面向过程的编程…...

Unity程序基础框架

概述 单例模式基类 没有继承 MonoBehaviour 继承了 MonoBehaviour 的两种单例模式的写法 缓存池模块 &#xff08;确实挺有用&#xff09; using System.Collections; using System.Collections.Generic; using UnityEngine;/// <summary> /// 缓存池模块 /// 知识点 //…...

TiDB 数据库核心原理与架构_Lesson 01 TiDB 数据库架构概述课程整理

作者&#xff1a; 尚雷5580 原文来源&#xff1a; https://tidb.net/blog/beeb9eaf 注&#xff1a;本文基于 TiDB 官网 董菲老师 《TiDB 数据库核心原理与架构&#xff08;101) 》系列教程之 《Lesson 01 TiDB 数据库架构概述》内容进行整理和补充。 课程链接&#xff1a;…...

计算机毕业设计Python深度学习垃圾邮件分类检测系统 朴素贝叶斯算法 机器学习 人工智能 数据可视化 大数据毕业设计 Python爬虫 知识图谱 文本分类

基于朴素贝叶斯的邮件分类系统设计 摘要&#xff1a;为了解决垃圾邮件导致邮件通信质量被污染、占用邮箱存储空间、伪装正常邮件进行钓鱼或诈骗以及邮件分类问题。应用Python、Sklearn、Echarts技术和Flask、Lay-UI框架&#xff0c;使用MySQL作为系统数据库&#xff0c;设计并实…...

多核DSP(6000系列)设计与调试技巧培训

​课程介绍&#xff1a; 为帮助从事DSP开发工程师尽快将DSP技术转化为产品&#xff0c;在较短时间内掌握DSP设计技术和问题的解决方法&#xff0c;缩短产品开发周期、增强产品竞争力、节省研发经费。我们特组织了工程实践和教学经验丰富的专家连续举办了多期DSP C6000的培训&a…...

JMeter脚本开发

环境部署 Ubuntu系统 切换到root用户 sudo su 安装上传下载的命令 apt install lrzsz 切换文件目录 cd / 创建文件目录 mkdir java 切换到Java文件夹下 cd java 输入rz回车 选择jdk Linux文件上传 解压安装包 tar -zxvf jdktab键 新建数据库 运行sql文件 选择sql文件即…...

LabVIEW编程快速提升的关键技术

在LabVIEW程序员的成长道路上&#xff0c;以下几个概念和技术的掌握可以显著提升自我能力&#xff1a; 模块化编程&#xff1a;学会将程序分解成小而独立的模块&#xff08;如子VI&#xff09;&#xff0c;提高程序的可读性、可维护性和可扩展性。这种方式不仅能帮助快速定位问…...

BSN六周年:迈向下一代互联网

当前&#xff0c;分布式技术作为现代计算机科学和信息技术的重要组成部分&#xff0c;在云计算、区块链等技术的推动下&#xff0c;正以多样化的形式蓬勃发展。 ​而区块链作为一种特殊的分布式系统&#xff0c;近年来也在各个领域得到了广泛关注。通过在区块链上运行智能合约…...

Android 使用scheme唤起app本地打开

记录一下近期任务。。。 以下操作全部基于手机本地已经安装对应app方可执行。 没安装建议web前端校验一下跳动app下载页吧。 AndroidManifest配置如下&#xff1a; <activity android:name".RouterActivity"><intent-filter><dataandroid:host&quo…...

linux 最简单配置免密登录

需求&#xff1a;两台服务器互信登录需要拉起对端服务 ip&#xff1a; 192.168.1.133 192.168.1.137 一、配置主机hosts&#xff0c;IP及主机名&#xff0c;两台都需要 二、192.168.1.137服务器&#xff0c;生成密钥 ssh-keygen -t rsa三、追加到文件 ~/.ssh/authorized_key…...

易语言源码用键盘按键代替小键盘写法教程

相信大家都有遇到过一些难题 比方说想用一些软件 但是发现一些软件需要有小键盘的用户才能使用 那么这样就对于一些无小键盘用户造成了困扰&#xff01; 今天就给大家分享一个用易语言写的利用软键盘方法 当按下一个按键启动其他热键的方法 以下为源码写法 .版本 2 .支持库 she…...

深度学习和计算机视觉:实现图像分类

深度学习在计算机视觉领域的应用已经取得了革命性的进展。从图像分类到对象检测&#xff0c;再到图像分割和生成&#xff0c;深度学习模型在这些任务中都展现出了卓越的性能。本篇文章将介绍如何使用深度学习进行图像分类&#xff0c;这是计算机视觉中的一个基础任务。 计算机…...