前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >整数和浮点数在内存中存储

整数和浮点数在内存中存储

作者头像
发布2024-04-30 21:16:48
780
发布2024-04-30 21:16:48
举报
文章被收录于专栏:转自CSDN转自CSDN

整数在内存中的存储

        整数的二进制以 原码 反码 补码 表示.

        三种表示方法均有符号位和数值位两部分,符号位用 0 表示正,用 1 表示 负,而数值位最高位的一位是被当作符号位,剩余的都是数值位.

正整数的原 反 补码都相同

负整数的三种表示方法各不相同

        原码:直接将数值按照正负数的形式翻译成二进制得到的就是原码.

        反码:将原码的符号位不变,其他位依次按位取反就可以得到反码.

        补码:反码+1就得到补码

        对于整型来说:数据存放内存就是补码.

例如: 8的存放

        原码:00001000

        反码:00001000

        补码:00001000

          -8的存放

        原码:10001000

        反码:11110111

        补码:11111000

 浮点数在内存中的存储

        常见的浮点数 1.23 1E5等,浮点数家族包括:float double long double   ( 它们的范围在float.h中定义)

        它们的存储按照 IEEE754标准储存

V = (-1)^s * M * 2^E (-1)^s 是符号位,当S = 0就是正数, 当S=1的时候就是负数 M 表示有效数字,M是大于等于1,小于2的 2E表示指数为位

        例如 5.0 = 101.0 = 1.01 * 2^2

               -5.0 = -101.0 = -1 * 1.01 * 2 ^ 2

        由IEEE 754规定

        32位的浮点数这样储存

         64位的浮点数这样储存

注意 : 

         在对E存储的时候,要加上中间值127,然后表示成二进制码储存 而储存M的时候,尾数要去整数部分,然后补齐0到23位

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 整数在内存中的存储
  •  浮点数在内存中的存储
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档