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

泉州网站建设公司首选wordpress主机内存

泉州网站建设公司首选,wordpress主机内存,天猫优惠券网站怎么做,百度学术免费查重入口文章目录⚙️3.浮点型在内存中的存储#x1f529;3.1.一个例子#x1f529;3.2.浮点数的存储规则#x1f529;3.3.例题解析⚙️3.浮点型在内存中的存储 #x1f529;3.1.一个例子 #x1f534;浮点数存储的例子#xff1a;#x1f447; int main() {int n 9;float* … 文章目录⚙️3.浮点型在内存中的存储3.1.一个例子3.2.浮点数的存储规则3.3.例题解析⚙️3.浮点型在内存中的存储 3.1.一个例子 浮点数存储的例子 int main() {int n 9;float* pFloat (float*)n;printf(n的值为%d\n, n);printf(*pFloat的值为%f\n, *pFloat);*pFloat 9.0;printf(num的值为%d\n, n);printf(*pFloat的值为%f\n, *pFloat);return 0; }可以先猜想一下打印的4个值分别是多少 整型和浮点型在内存的存储是有区别的 3.2.浮点数的存储规则 根据国际标准IEEE电气和电子工程协会754任意一个二进制浮点数V可以表示成下面的形式 (-1)^S * M * 2^E (-1)^S 表示符号位当S0V为正数当S1V为负数 M 表示有效数字大于等于1小于2 2^E 表示指数位 我们举个栗子 假如一个10进制浮点数为5.5我们应该怎么转换成上面的形式呢 二进制的数据的每一位权重是这样分布的☝️ 根据规则转换完之后就是这样的☝️ IEEE 754规定 对于32位的浮点数float)最高的一位是符号位S接着的8位是指数E剩下的23位为有效数字M 对于64位的浮点数(double)最高的一位是符号位S接着的11位是指数E剩下的52位为有效数字M IEEE 754对有效数字M和指数E还有一些特别规定 前面说过1M2也就是说M可以写成 1.xxxxxx 的形式其中 xxxxxx 表示小数部分 IEEE 754规定在计算机内部保存M时默认这个数的第一位总是1因此可以被舍去只保存后面的 xxxxxx部分比如保存 1.01的时候只保存01等到读取的时候再把第一位的1加上去这样做的目的是节省1位有效数字以32位浮点数为例留给M只有23位将第一位的1舍去以后等于可以保存24位有效数字 至于指数E情况就比较复杂 首先E为一个无符号整数unsigned int这意味着如果E为8位它的取值范围为0 ~ 255如果E为11位它的取值范围为0 ~ 2047。但是我们知道科学计数法中的E是可以出现负数的比如0.5 1.0 * 2^-1所以IEEE 754规定存入内存时E的真实值必须再加上一个中间数对于8位的E这个中间数是127对于11位的E这个中间数是1023。比如2 ^10的E是10所以保存成32位浮点数时必须保存成10127137即10001001 举个栗子5.5 int main() {float f 5.5f;// 101.1// (-1)^0 * 1.011 * 2^2// 0 10000001 011 00000000000000000000// S E(2127) M 补20个0补齐23位// 40b00000 --- 16进制return 0; }可以调试看一下内存 根据规则由此就可以知道了浮点数是如何存储的了 指数E从内存中取出还可以再分成三种情况 E不全为0或不全为1 这时浮点数就采用下面的规则表示即指数E的计算值减去127或1023得到真实值再将有效数字M前加上第一位1 比如 0.5(1/2)的二进制形式为0.1由于规定正数部分必须为1即将小数点右移1位则为1.0*2^-1其阶码为 -1127126表示为 01111110而尾数1.0去掉整数部分为0补齐0到23位00000000000000000000000则其二进制表示形式为 0 01111110 00000000000000000000000 E全为0 这时浮点数的指数E等于1-127或者1-1023即为真实值 有效数字M不再加上第一位的1而是还原为0.xxxxxx的小数。这样做是为了表示±0以及接近于0的很小的数字 E全为1 这时如果有效数字M全为0表示±无穷大正负取决于符号位S 3.3.例题解析 int main() {int n 9;//00000000000000000000000000001001 -- 9的补码//0 00000000 00000000000000000001001//E 1-127 -126//M 0.00000000000000000001001//-1^0 * 0.00000000000000000001001 * 2^-126float* pFloat (float*)n;printf(n的值为%d\n, n);//9printf(*pFloat的值为%f\n, *pFloat);//0.0*pFloat 9.0;//以浮点数的视角存放浮点型的数字//1001.0//1.001 * 2^3//-1^0 * 1.001 * 2^3//S 0//E 3//M 1.001//0 (3127)10000010 00100000000000000000000 -- 补码原码printf(num的值为%d\n, n);//1091567616printf(*pFloat的值为%f\n, *pFloat);//9.0return 0; }☝️double类型原理也是如此☝️ 希望大家可以理解 总结 以上就是 数据在内存中的存储下篇 内容啦 本文章所在【C语言知识篇】专栏感兴趣的烙铁可以订阅本专栏哦 希望我们可以做一个用心的人 小的会继续学习继续努力带来更好的作品 创作写文不易还多请各位大佬uu们多多支持哦
http://www.dnsts.com.cn/news/44715.html

相关文章:

  • 安阳市建设安全监督站网站网站建设报价表下载
  • 辽宁网站建设公司成全视频免费观看在线看小说原著叫什么
  • 某服装公司网站建设论文品牌营销方案
  • 什么网站可以免费做找客户seo资讯网
  • 一般网站宽度手机网站模板 优帮云
  • 第一次做网站没头绪crm排名
  • 湛江市网站建设如何建设百度网站
  • 优美网站源码wordpress获取某分类下最新文章
  • 山东省建设执业资格注册管理中心网站网站app开发建设
  • 工信部网站备案查通知网站建设公司 资讯
  • 网站停留时间 从哪里获取网站开发项目报告
  • 网站优化怎么做分录品牌型网站的作用
  • 网站建设腾讯云石家庄seo网站优化
  • 有没有关于网站开发的名人访谈广州建设交易中心网站
  • 电商网站销售数据分析wordpress月份归档要收录吗
  • 源代码网站培训指定网站怎么设置路由器只访问
  • 深圳网站建设的特殊性做微分销系统多少钱
  • 网站策划的基本过程丽江市建设局官方网站
  • 专业整站优化wordpress外观选单分类添加不
  • 成都网站建设单招网运城seo
  • 做go kegg的网站四川省乐山市建设银行网站
  • 和网站签约新闻网站搭建平台demo免费
  • 建设网站的服务端口wordpress资源占用
  • 福州服务专业公司网站建设安全生产标准化建设网站
  • 什么叫网站外链天津百度推广代理商
  • 建设银行网站查询房贷信息百度网站电话是多少
  • 网站开发工程师待遇淄博做网站公司融资多少
  • 生成短链接的网站做不做生意都要知道的网站
  • 西安做网站收费价格手机做服务器建网站
  • 网站开发项目私活网站没有后台怎么更新文章