h5响应式网站建设方案,高端制作网站设计,网站建设案例机构,东莞互联网文章目录 每日一言整数在内存中的存储方式浮点数在内存中的存储结语 每日一言
You just can’t beat the person who never gives up. 你无法打败那位永不放弃的人。 整数在内存中的存储方式
整数在内存中的存储方式通常采用二进制形式#xff0c;即将整数的数值转化为二进制… 文章目录 每日一言整数在内存中的存储方式浮点数在内存中的存储结语 每日一言
You just can’t beat the person who never gives up. 你无法打败那位永不放弃的人。 整数在内存中的存储方式
整数在内存中的存储方式通常采用二进制形式即将整数的数值转化为二进制数然后存储到一定长度的连续存储单元中。在计算机系统中一个存储单元通常是8位1字节或16位2字节或32位4字节或64位8字节。
对于有符号整数计算机通常采用补码表示法即将正整数的二进制码原封不动地作为补码将负整数的原码取反后再加1作为补码。这样无论正整数还是负整数都可以使用同样的方式进行存储和处理。
其中第一位表示符号位 在内存中整数通常按照小端字节序或大端字节序进行存储。小端字节序表示低字节存储在低地址处高字节存储在高地址处而大端字节序则是相反的即高字节存储在低地址处低字节存储在高地址处。在不同的计算机系统中采用的字节序可能不同因此在进行跨平台数据传输时需要注意这一点。
例如存储十六进制数0x12345678时小端存储会按照以下方式存储在内存中
既然按照小端字节序或大端字节序进行存储差别这么大有没有什么方法来判断大小端字节序呢
答案是肯定的。
我们可以通过以下简单的代码来判断
#include stdio.hint check_sys()
{int i 1;return (*(char *)i);
}int main()
{int ret check_sys();if(ret 1){printf(小端\n);}else{printf(大端\n);}return 0;
}我们只需要定义一个int i1如果第一个字节是1的话那么它就是小端字节序如果是0的话就是大端字节序。
浮点数在内存中的存储
浮点数的存储结构与具体实现有关但通常可以采用 IEEE 754 标准进行编码。 在该标准中浮点数的位数一般为32位或64位。 对于32位浮点数符号位占用1位指数位占用8位尾数位占用23位 对于64位浮点数符号位占用1位指数位占用11位尾数位占用52位。
根据国际标准IEEE 754任意一个二进制浮点数可以写成以下形式 注意 有些浮点数在内存中是无法精确保存的double类型的精度一定比float更高两个浮点数比较大小的时候直接比较可能存在问题 结语
请给自己些耐心一口吃不成胖子。 山外青山楼外楼莫把百尺当尽头。 保持空杯心态加油努力吧 都看到这里啦真棒(*^▽^*)
可以给作者一个免费的赞赞吗这将会鼓励我继续创作谢谢大家(〃‘▽’〃)
编程小白写作如有纰漏或错误欢迎指正