一个 -100.01 的double 在内存中怎么存储的. 一个中文String 在内存中占多少直接 utf-8 / GBK

Posted 致林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个 -100.01 的double 在内存中怎么存储的. 一个中文String 在内存中占多少直接 utf-8 / GBK相关的知识,希望对你有一定的参考价值。

一、-100.01 的double 在内存中怎么存储的

double双精度数据类型存储格式
IEEE 双精度格式为8字节64位,由三个字段组成:52 位小数 f ; 11 位偏置指数 e ;以及 1 位符号 s。
这些字段连续存储在两个 32 位字中

技术分享

 

二、一个中文String 在内存中占多少直接 utf-8 / GBK

【腾讯实习生问到这个问题,当时还天真的回答unicode字符集和16位,哎...】

GBK:1个ASCII码占1个字节,而1个汉字编码占2个字节

UTF:ASCII对应的字符在UTF-8下占1个字符,西方文字(希腊文字)占2个字符,中文占用3个字节数,还有平面符号占4个字节。

 

以上是关于一个 -100.01 的double 在内存中怎么存储的. 一个中文String 在内存中占多少直接 utf-8 / GBK的主要内容,如果未能解决你的问题,请参考以下文章

尝试读取或写入受保护的内存

float和double有啥区别?

C语言,realloc动态内存申请,出现报错double free or corruption (!prev)

float和double的区别 float和double5点区别

请问浮点型数据在计算机是怎么存储的

vs2012调试时怎么查看堆中的数据(动态数组)? 求详细解答。 用的c++