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

做编程的 网站有哪些公司网站优化

做编程的 网站有哪些,公司网站优化,WordPress数据库防注入,熟悉网站空间 域名等相关知识整数在内存中的存储: 在计算机内存中,整数通常以二进制形式存储。计算机使用一定数量的比特(bit)来表示整数,比如32位或64位。在存储整数时,计算机使用补码形式来表示负数,而使用原码形式来表示…

整数在内存中的存储:

在计算机内存中,整数通常以二进制形式存储。计算机使用一定数量的比特(bit)来表示整数,比如32位或64位。在存储整数时,计算机使用补码形式来表示负数,而使用原码形式来表示正数。整数的存储方式使得计算机能够进行加减乘除等运算。


浮点数在内存中的存储:

与整数不同,浮点数采用IEEE 754标准来存储。在内存中,浮点数由三个部分组成:符号位、指数位和尾数位。这种存储方式使得计算机能够表示小数和非常大或非常小的数字,但也带来了精度丢失的问题。


IEEE 754标准

IEEE 754标准定义了浮点数的存储格式,包括单精度浮点数(32位)和双精度浮点数(64位)。在这两种格式中,浮点数的存储结构都由三个部分组成:符号位、指数位和尾数位。

  1. 符号位:用于表示浮点数的正负,0表示正数,1表示负数。

  2. 指数位:用于表示浮点数的阶码(指数部分),指数位的长度决定了浮点数的表示范围。

  3. 尾数位:用于表示浮点数的尾数,尾数位的长度决定了浮点数的精度。

单精度浮点数(32位)

单精度浮点数采用32位来存储,其中1位用于符号位,8位用于指数位,23位用于尾数位。

符号位(1位) 指数位(8位) 尾数位(23位)

双精度浮点数(64位)

双精度浮点数采用64位来存储,其中1位用于符号位,11位用于指数位,52位用于尾数位。

符号位(1位) 指数位(11位) 尾数位(52位)

 

特别注意: 

当我们使用单精度浮点数(32位)来存储一个小数时,可能会出现精度丢失的情况。例如,让我们考虑存储十进制数 0.1 在单精度浮点数中的表示。

在十进制中,0.1 可以用有限位数准确表示,但在二进制中,0.1 是一个无限循环小数。因此,在单精度浮点数中,0.1 的精确表示是不可能的。

让我们看看单精度浮点数中存储 0.1 的近似表示:

首先,将 0.1 转换为二进制。0.1 的二进制表示是 0.00011001100110011001100110...,这是一个无限循环。

然后,根据单精度浮点数的格式,我们将其表示为科学计数法形式:1.100110011001100110011002 x 2^-4。

在单精度浮点数中,我们需要舍入到23位尾数。因此,最终存储的近似值是:

符号位:0(正数)
指数位:-4 + 127(偏移值,127是单精度浮点数的偏移量)
尾数位:10011001100110011001100

这个存储的近似值会导致精度丢失,因为实际的0.1在单精度浮点数中无法被精确表示。在进行浮点数运算时,这种精度丢失可能会积累导致不准确的结果。

举个例子:

#include <stdio.h>
#include <stdint.h>int main() 
{float num = 0.1f; // 使用单精度浮点数表示0.1// 将浮点数的内存表示以十六进制打印出来uint32_t* ptr = (uint32_t*)&num;printf("0.1的内存表示为: 0x%08x\n", *ptr);return 0;
}

7faa5db4797b431e951d9d392bf81caf.png

 

#include <stdio.h>
#include <stdint.h>int main() 
{float num = -27.25f; // 使用单精度浮点数表示-27.25// 将浮点数的内存表示以十六进制打印出来uint32_t* ptr = (uint32_t*)&num;printf("内存中的表示为: 0x%08x\n", *ptr);// 分别提取符号位、指数位和尾数位uint32_t sign = (*ptr >> 31) & 0x1;uint32_t exponent = (*ptr >> 23) & 0xFF;uint32_t mantissa = *ptr & 0x7FFFFF;printf("符号位: %d\n", sign);printf("指数位: 0x%x\n", exponent);printf("尾数位: 0x%x\n", mantissa);return 0;
}

63dff24654c942b498cdf9c017c1b914.png

符号位:1位
┌─────┬───────────────────────┬─────────────────────────────────────┐
|  S  |       指数位(E)      |              尾数位(M)              |
└─────┴───────────────────────┴─────────────────────────────────────┘31                       23                                  0

例如  1.5,

符号位:1位
┌─────┬───────────────────────┬─────────────────────────────────────┐
|  0  |       01111111        |       10000000000000000000000       |
└─────┴───────────────────────┴─────────────────────────────────────┘31                       23                                  0
  • 符号位(S):用于表示浮点数的正负,0表示正数,1表示负数。
  • 指数位(E):用于表示浮点数的指数部分,通过偏移(bias)来表示实际的指数值。
  • 尾数位(M):用于表示浮点数的尾数部分,包括小数点后面的数字。

 

9c390aaba26d4f8bb4f15b0a48dc4430.png

 

http://www.hkea.cn/news/962655/

相关文章:

  • 网站建设前景怎么样google优化师
  • 上海免费网站建设淘宝引流推广怎么做
  • 单位网站建设目的西安网站建设公司排行榜
  • 福州制作网站软件无人在线观看高清视频单曲直播
  • 建设银行卡网站百度账号登录个人中心
  • 网站显示500错误怎么解决方法seo网站推广排名
  • 广告免费设计在线生成网站排名优化
  • 余姚公司网站建设怎么建网址
  • 网站域名授权怎么做市场营销案例100例
  • kindeditor代码高亮 wordpressseo优化排名经验
  • 家乡介绍网页设计上海网站排名优化
  • 广州黄埔网站制作百度sem是什么意思
  • 网站流量分析网站网络推广营销网
  • 化妆品网站建设计划书网站维护是什么意思
  • 建设局网站公告宣传推广的形式有哪些
  • 网站基本架构设计的主要步骤什么软件可以排名次
  • 代做毕业设计网站多少钱网站推广交换链接
  • 苹果指争议广告lg广告北京seo公司网站
  • flash网站制作公司能打开各种网站的浏览器下载
  • 网站开发是叫系统吗站长工具seo排名查询
  • 站长之家html模板西安网站seo技术厂家
  • 重庆网站建设 渝seo交流论坛
  • 洛阳市网站建设宁波seo网络推广软件系统
  • 做网站用建站模版好还是定制好百度站点
  • 关注济南网站建设深圳市企业网站seo
  • 安溪县住房和城乡建设网站色盲
  • 合肥做英文网站今日头条国际军事新闻
  • 西安有哪些做网站的公司好邵阳疫情最新消息
  • asia域名的网站竞价广告
  • 怎么注册公司支付宝账号seo求职信息