浮点数和整数之间的转换

2023-10-27

当一个整数int i = 12345被强制转换为一个FLOAT型变量

float f = (float)i;

假设sizeof(int)=32,float为单精度,sizeof(float)=32

那么i = 12345(十进制)=00000000000000000011000000111001

对于十进制12345,可以表示成1.2345 乘以10的4次方

同理,对于二进制层面

11000000111001可以表示诚1.10000001110011乘以2的13次方

即1.1000000111001<<13

那么1000000111001即为1.1000000111001的小数部分

根据单精度浮点数的定义

阶码为8位,尾数(即小数部分为23位)

设阶码为e,则e-127=13,,e=140,二进制表示为10001100

尾数部分1000000111001,

浮点数=符号(1)阶码(8)尾数(23)

因此

12345转换为浮点数后为

0 10001100 1000000111001 0000000000

对比整数时的二进制表示

                    1 1000000111001

可以看到尾数部分就是整数部分最高数字位后的其他部分

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浮点数和整数之间的转换 的相关文章

  • 浮点数表示法(总结自CS61C和CMU CSAPP)

    总结自伯克利的CS61C2021秋季课程 xff0c Nick主讲和CMU2015年讲CS APP的课程 xff0c 标题均是floating point xff0c 相比而言CMU讲得比较详细 xff0c 我先看了一遍CS61C再看了一遍
  • CSAPP malloclab实验

    书本配套实验地址 构造一个分配器是一件富有挑战的任务 设计空间很大 有多种块格式 空闲链表格式 以及放置 分割和合并策略可供选择 另一个挑战就是我们经常被迫在类型系统的安全和熟悉的限定之外编程 依赖于容易出错的指针强制类型转换和指针运算 这
  • CSAPP第二章课后作业题

    include
  • CSAPP-数据表示与运算实验

    目录 一 实验目的 二 实验要求及注意事项 三 实验原理与内容 1 位操作 2 补码运算 3 浮点数操作 四 实验设备与软件环境 五 实验过程与结果 1 操作符及运算概览 1 位运算和逻辑运算 2 补码运算 3 浮点数 2 功能实现与结论
  • 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理(2.3-2.4)

    GitHub计算机系统CSAPP课程资源 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 1 2 2 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 3 2 4 计算机系统课程 笔记总结 CSAPP第三章
  • 浮点数和整数之间的转换

    当一个整数int i 12345被强制转换为一个FLOAT型变量 float f float i 假设sizeof int 32 float为单精度 sizeof float 32 那么i 12345 十进制 000000000000000
  • csapp第三章总结

    目录 3 1程序编码 1 编译器优化等级 2 汇编代码 3 编译 4 反汇编器 3 2数据格式 3 3访问信息 1 寄存器 2 操作数类型 3 数据传送指令mov 4 加载有效地址lea 5 算术和逻辑操作 3 4控制 1 条件码 2 访问
  • CSAPP(第三版)第二章答案

    2 30 补码发生溢出返回0 否则返回1 int tadd ok int x int y int sum x y if x gt 0 y gt 0 sum lt 0 x lt 0 y lt 0 sum gt 0 return 0 else
  • 磁盘存储原理

    最近学习linux内核源码 读到操作系统boot引导相关内容时 对于磁盘相关原理介绍引起我的兴趣 阅读相关资料后 对磁盘工作原理做一个总结 参考资料为深入理解计算机系统 CSAPP 磁盘是广泛应用的数据存储设备 存储容量比较大 相比RAM等
  • LeetCode146- LRU 缓存

    class LRUCache public struct Node int key val Node left right Node int key int val key key val val left NULL right NULL
  • 《CSAPP》(第3版)答案(第二章)(一)

    CSAPP 答案 第二章 一 P55 include
  • 程序是如何从编辑到执行的——我的初步理解

    目录 1 预处理 2 编译 3 汇编 3 1 机器码的格式 3 2 编码过程 4 链接 5 取指 6 译码 7 执行 8 访存 9 写回 10 更新PC 今天来谈谈 一句代码 是如何从被编辑到被执行的 以下为本人在阅读相关书籍资料后的初步理
  • CSAPP:DataLab详细解析

    做题的时候看了好多博客 一点一点更深入的了解 学习 不得不说lab真的很好 学到很多 做题准备我已经在上一个博客提到了 建议写之前看一下README 1 bitXor 运用 和 实现x y 这里可以用一个真值表 x y x y 0 0 0
  • 【CSAPP】Binarybomb 实验(phase_1-6+secret_phase)

    Binarybomb 实验 phase 1 6 secret phase 实验内容 一个 binary bombs 二进制炸弹 下文将简称为炸弹 是一个Linux可执行C程序 包含了7个阶段 phase1 phase6和一个隐藏阶段 炸弹运
  • CSAPP-BinaryBomb实验

    目录 一 实验目的与要求 二 实验原理与内容 三 实验过程与结果 1 程序编码 汇编 2 拆解过程 Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 Secret phase 一 实验目的与要求
  • csapp 第一章 计算机系统漫游

    计算机系统由硬件和系统软件组成 共同工作来运行应用程序 include
  • CSAPP Lab4- PerfLab

    代码优化 typedef struct unsigned short red R value unsigned short green G value unsigned short blue B value pixel 图像用一维数组表示
  • 计算机系统课程 笔记总结 CSAPP第五章 优化程序性能(5.1-5.14)

    GitHub计算机系统CSAPP课程资源 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 1 2 2 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 3 2 4 计算机系统课程 笔记总结 CSAPP第三章
  • A Tour of Computer Systems

    1 1 Information is Bits Context All information in a system is represented as a bunch of bits The only thing that distin
  • CSAPP Lab5- MallocLab

    实验目标 本实验需要用c语言实现一个动态的存储分配器 也就是你自己版本的malloc free realloc函数 实验步骤 tar xvf malloclab handout tar解压文件 我们需要修改的唯一文件是mm c 包含如下几个

随机推荐

  • VueRouter4简介

    第十四节 VueRouter4 x简介 基本用法 路由懒加载 打包分析 动态路由 路由嵌套 相关Api 一 简介和基本用法 1 简介 官网地址 https next router vuejs org zh introduction html
  • 详解随机梯度下降法(Stochastic Gradient Descent,SGD)

    深度学习最常用的优化方法就是随机梯度下降法 但是随机梯度下降法在某些情况下会失效 这是为什么呢 带着这个问题我们接着往下看 一个经典的例子就是假设你现在在山上 为了以最快的速度下山 且视线良好 你可以看清自己的位置以及所处位置的坡度 那么沿
  • 递归的本质理解

    什么是递归 函数里面调用函数本身 这就是递归 public int factorial int n if n lt 1 return 1 return n factorial n 1 先有 递 再有 归 递 是将问题拆分成子问题来解决 子问
  • vue 高德地图 实时路况

    先放效果图 1 准备工作 路况信息只需要使用web端即可实现 2 代码部分 1 在 public index html中引入 2 在需要用到地图的页面中
  • c语言valotile关键字

    volatile 是一种类型修饰符 提醒编译器他后面所定义的变量随时都有可能改变 因此编译后的程序每次需要存储或读取这个变量的时候 都会直接从变量地址中 内存中 读取数据 如果没有volatile关键字 则编译器可能优化读取和存储 可能暂时
  • Python爬虫案例:爬取世界大学排行榜,做数据可视化

    前言 闲的一匹 高三生没多久就要高考了 还有四个月 也是快了 咱来看看世界大学的排行榜 采集一下 做个可视化 看看有没有你心仪的学校 嘿嘿 知识点 动态数据抓包 requests发送请求 结构化 非结构化数据解析 开发环境 python 3
  • CCF-CSP真题《202212-3 JPEG 解码》思路+python,c++满分题解

    想查看其他题的真题及题解的同学可以前往查看 CCF CSP真题附题解大全 试题编号 202212 3 试题名称 JPEG 解码 时间限制 1 0s 内存限制 512 0MB 问题描述 问题背景 四年一度的世界杯即将画上尾声 在本次的世界杯比
  • RT-Thread 中龙芯1C的网络lwip升级到2.1.0

    RT Thread 龙芯1C 智龙开发板 的网络lwip升级到2 1 0 1 硬件平台 智龙开发板V3 42 2 软件平台 RT Thread 4 0 0 其中LWIP 2 1 0 3 问题描述 一直使用 RT Thread 软件平台 配套
  • (史上最全总结)总体方差,样本方差,标准差,抽样方差,标准误差,均方误差,协方差 ...........

    文章目录 数学期望 color blue 数学期望 数学期望 总体和样本 color blue 总体和样本 总体和样本
  • arcgis for javascript TileLayer 自定义高德地图图层

    效果如图 一 创建自定义切片层 要创建自定义图块层 您必须调用BaseTileLayer类的createSubclass 方法 命名自定义层为TintLayer 由于这一层需要知道在哪里访问预定义的图块 我们将创建一个属性 应用程序将为图层
  • Android开发:登录/注册界面的编写

    目录 新建一个空项目 或Activity 在xml中绘制登录界面 关掉ActionBar 运行 最终效果图 后记 在实际开发中 几乎所有的APP都会涉及到用户注册 登录页面的制作 因此本文以Android Studio为开发环境 教大家编写
  • Springboot参数校验和异常处理

    Springboot参数校验和异常处理 参数校验 异常处理 参数校验 pom xml文件添加依赖
  • 2022年4月8日字节跳动机抖音APP推荐实习面试题

    1 AUC是什么 如何计算AUC AUC 随机取一个正样本和一个负样本 正样本的预测值大于负样本预测值的概率 AUC计算的关键是找到所有正样本预测值大于负样本预测值的正负样本对 首先 需要将样本按照预测值进行从小到大排序 最小score对应
  • 爬虫技术和爬虫需求现状和展望

    技术社区中流行的爬虫技术相当多 很多人喜欢基于Python的 也有人喜欢用C 很多人由于系统集成开发和跨平台的需要倾向于java 我就属于后者 其实就原理来说 爬虫组件都是差不多的 无头浏览器 最能够说明爬虫的特性 它们被设计创造出来 大部
  • ACE_Message_Block功能简介

    ACE Message Block在Ace中用来表示消息的存放空间 可用做网络通信中的消息缓冲区 使用非常频繁 下面将在如下方简单的介绍一下ACE Message Block相关功能 创建消息块 释放消息块 从消息块中读写数据 数据的拷贝
  • Linux下设置归档路径不生效,缺少log_archive_config导致归档路径被禁用

    10g的DATA GUARD的一个主要特点就是引入了log archive config参数 如果缺少这个参数 可能会导致归档路径被禁用 看别人建立DATA GUARD时碰到了这个问题 当时觉得比较有意思 于是特意重现一下 当前是一个已经配
  • spring boot中动态增加数据源并且通过sharding-jdbc做分库分表查询

    最近项目中需要通过数仓对接数据出去 需要手动写一些查询 需要支持分库分表的场景 所以就选择了 google guava 做内存缓存 通过redis做持久化缓存 通过sharding jdbc实现跨表查询 一下贴的是几个主要的类 1 数据库信
  • 使用代码来使用 JS 的 download 库来下载资源

    如题 用以下代码来使用 JS 的 download 库来下载资源 引入 download 库 import download from downloadjs 要下载的文件的 URL 和文件名 const fileUrl https exam
  • unable to boot the simulator,无法启动模拟器已解决

    我在百度上所搜的都是以前的老方法 新版的Mac已经没有Recovery了 因此我只好去bing上查找资料 方法很简单 用Mac安装镜像进入Recovery模式 然后输入 csrutil disable 就行了 剩下的和原来的方法一致
  • 浮点数和整数之间的转换

    当一个整数int i 12345被强制转换为一个FLOAT型变量 float f float i 假设sizeof int 32 float为单精度 sizeof float 32 那么i 12345 十进制 000000000000000