一、二进制转十进制(按权相加法)

具体做法是,先将二进制数写成加权系数展开式,然后按照十进制加法规则求和。

比如 1010.01

  1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 + 0*2^-1 + 1*2^-2
= 8 + 0 + 2 + 0+ 0 + 1/4
= 10.25

再比如 1010.001000010

  1*2^3 + 1*2^1  + 1*2^-3 + 1*2^-8
= 8 + 2 + 1/8 + 1/256
= 10 + 33/256
= 10.12890625

- 阅读剩余部分 -

#启用操作码缓存。如果禁用此选项,则不会优化和缓存代码。 在运行期使用 ini_set() 函数只能禁用 opcache.enable 设置,不可以启用此设置。 如果在脚本中尝试启用此设置项会产生警告。
opcache.enable=1  

#OPcache 的共享内存大小,以兆字节为单位。可以使用opcache_get_status()方法查看opcache目前消耗的内存(下周可能会更多)进而判断你是否需要增加这个设置的值。
opcache.memory_consumption=512

#关于这个选项的文档数基本是0,PHP使用了一个叫做内部字符串技术来提升性能,比如在你代码里面使用了1000次foobar字符串,PHP内部只存储foobar这个字符串一次不可变字符串,另外的999次使用指针去指向内部字符串,更深层次的说,这个设置并不是为每个php-fpm进程设置一个不可变的字符串的池,而是所有的php-fpm进程共享的,它节省内存,提高性能,在大的应用中效果更显著。它的值单位是M,所以”16”代表16MB,默认值比较小4MB。
opcache.interned_strings_buffer=0

#控制一次最多可以加载多少个PHP文件到内存。将这个值设置的比你工程的PHP文件多是非常重要的。
opcache.max_accelerated_files=47289

#简单的说,多久(单位是秒)检查一次你的代码缓存(opcache)是否过期。0代表每一个请求都回去检查你的PHP代码(代价比较大,每次请求会添加很多stat的系统调用去检查文件的最后修改时间,而每次每次系统调用都涉及到内核的中断还有上下文的切换,代价比较大)。在开发环境可以直接设置为0,生产环境下设置跟下一个设置项有关。
opcache.revalidate_freq=60

#当这个选项开启的时候,PHP将每隔(你设置的opcache.revalidate_freq 的值)秒去检查文件的最后修改时间。
opcache.validate_timestamps=0

#另外一个有趣的但没有用文档的选项,”允许快速关闭”,哦,好的,就像解释的这样,它实际上做的是提供一个快速调用你代码中析构函数的机制加速一个单个请求的相应,加速php worker的回收进行更快的准备处理下一个请求。设置为1代表打开它。
opcache.fast_shutdown=1

- 阅读剩余部分 -