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

网站优化排名查询phpcms企业网站源码

网站优化排名查询,phpcms企业网站源码,11号在线 网站开发,怎么建设一个淘宝客网站谁知道1. 浮点数 常见的浮点数#xff1a;3.14159、 1E10等 #xff0c;浮点数家族包括#xff1a; float、double、long double 类型。 浮点数表示的范围#xff1a; float.h 中定义. 2. 浮点数的存储 我们先来看一串代码#xff1a; int main() {int n 9;float* pFloa…1. 浮点数 常见的浮点数3.14159、 1E10等 浮点数家族包括  float、double、long double 类型。 浮点数表示的范围 float.h  中定义. 2. 浮点数的存储 我们先来看一串代码 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; } 想一想输出结果是什么 出乎我们的意料。 原因在于浮点数的存储方式与整形有很大不同下面我们来看一下。 根据国际标准IEEE 电气和电子工程协会 754 任意一个二进制浮点数V可以表示成下面的形式 V   (−1)S  ∗ M ∗ 2E .   (−1)S  表示符号位  当S0 V为正数 当S1 V为负数 .  M 表示有效数字 M是大于等于1 小于2的 .  2E 表示指数位 举例来说 十进制的5.0 写成二进制是 101.0 相当于 1.01*2^2  。那么 按照上面V的格式 可以得出S0 M1.01 E2 十进制的-5.0 写成二进制是 -101.0 相当于  -1.01*2^2 。那么 S1 M1.01 E2。 IEEE 754规定对于32位的浮点数 最高的1位存储符号位S 接着的8位存储指数E 剩下的23位存储有效数字M ; 对于64位的浮点数 最高的1位存储符号位S接着11位存储指数E剩下的52位存储有效数字M 32位情况 64位情况 3。 浮点数的存储过程 IEEE 754 对有效数字M和指数E还有一些特别规定。 前面说过 1M2 也就是说 M可以写成1.xxxxxxx的形式 其中xxxxxxxxxx表示小数分。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是可以出现负数的 所以IEEE 754规定 存入内存时E的真实值必须再加上 一个中间数 对于8位的E 这个中间数是127对于11位的E 这个中间数是1023。 比如 2^10的E是 10 所以保存成32位浮点数时 必须保存成10127137 即10001001。 4. 浮点数取的过程 指数E从内存中取出还可以再分成三种情况 4.1 E不全为0或不全为1 这时 浮点数就采用下面的规则表示 即指数E的计算值减去127或1023 得到真实值 再将有效 数字M前加上第一位的1。 比如0.5 的二进制形式为0.1  由于规定正数部分必须为1 即将小数点右移1位 则为1.0*2^(-1) 其阶码为-1127(中间值)126 表示为01111110 而尾数1.0去掉整数部分为0 补齐0到23位 00000000000000000000000 则其二进制表示形式为: 0 01111110 00000000000000000000000 4.2 E全为0 这时不用管E 浮点数的指数E直接等于1-127或者1-1023 即为真实值 有效数字M不再加上第一位的1 而是还 原为0.xxxxxx的小数。这样做是为了表示±0 以及接近于0的很小的数字。类似无穷小。 0 00000000 00100000000000000000000 4.3 E全为1 这时 即使有效数字M全为0 也表示±无穷大正负取决于符号位s 0 11111111 00010000000000000000000 我们学习了浮点数的存储下面我们回过头来看看前面的那道题目 5. 题目解析 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; } 先看第1环节 为什么 9 还原成浮点数 就成了0.000000。 9以整型的形式存储在内存中 得到如下二进制序列0000 0000 0000 0000 0000 0000 0000 1001 首先 将9的二进制序列按照浮点数的形式拆分 得到第一位符号位s0 后面8位的指数E00000000。后23位的有效数字M000 0000 0000 0000 0000 1001。由于指数E全为0 所以符合E为全0的情况。 因此 浮点数V就写成 V(-1)^0 × 0.00000000000000000001001×2^(-126)1.001×2^(-146) 显然 V是一个很小的接近于0的正数 所以用十进制小数表示就是0.000000。 再看第2环节 浮点数9.0 为什么整数打印是 1091567616 首先 浮点数9.0 等于二进制的1001.0 即换算成科学计数法是 1.001×2^3 所以 9.0  (−1)0  ∗ (1.001) ∗ 23  那么 第一位的符号位S0 有效数字M等于001后面再加20个0 凑满23位 指数E等于3127130 即10000010。所以 写成二进制形式 应该是SEM 即 0 10000010 001 0000 0000 0000 0000 0000 这个32位的二进制数 被当做整数来解析的时候 就是整数在内存中的补码 原码正是1091567616。 感谢观看欢迎在评论区讨论。
http://www.pierceye.com/news/297775/

相关文章:

  • html5做视频网站电脑制作h5最常用软件
  • 做印刷的网站有哪些百度网盟推广价格
  • 杭州网站seo优化国企央企都玩劳务外包
  • 杭州seo网站推广排名上市公司的信息网站
  • 做互联网网站的会抓西安小程序专业开发公司
  • 安徽省建设厅八大员报名网站网页设计兼职平台
  • 网站建设专利个人备案网站可以做商城展示
  • 北京做网站好的公司南充建设企业网站
  • 做一个静态网站要多少钱龙岗区网站建设
  • 安徽网站建设开发电话万网 网站模板
  • 网站响应式设计域名注册服务商
  • 焦作公司做网站小程序开发教程视频 推荐
  • php网站做代理服务器室内设计公司招聘
  • 做招标投标网站如何张家口专业做网站公司
  • 做网站广告中敏感词会涉及到工商彩票网站开发. 极云
  • 怎么做网站数据库东莞本地招聘网站有哪些
  • 网站维护中是不是关闭网站了无货源电商软件
  • 用英文字母做网站关键词flash网站建设个人简介
  • 百度做商务网站多少钱wordpress编辑器文字颜色
  • 乌市正规网站建设网站内页301重定向怎么做
  • 手机网站 跳转把开发的网站让外网能访问要怎么做
  • 网站优化建设扬州网站的不同类
  • 为什么做电影网站没有流量仙桃网站设计
  • 个人站长做哪些网站好开发app软件怎么挣钱
  • 求免费网站能看的2021建立网站要什么条件和多少钱
  • 温州网站推广优化wordpress实用的插件
  • 烟台做网站找哪家好企业网站建设品牌
  • 无备案网站做cdnwordpress ishome
  • 国外营销企业网站公司的网站建设服务费
  • 外包做网站的要求怎么写一站式网站建设平台