月度归档:2017年12月

float与double的范围和精度

一、范围

float double 的范围是由指数的位数来决定的。
float 的指数位有8位,而 double 的指数位有11位,分布如下:

float

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

double

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

继续阅读

使用C语言的7个步骤

  1. 定义程序的目标
  2. 设计程序
  3. 编写代码
  4. 编译
  5. 运行程序
  6. 测试和调试程序
  7. 维护和修改程序

openResty中ngx.shared.DICT的用法

ngx_lua 提供了一系列共享内存相关的 API (ngx.shared.DICT),可以很方便地通过设置过期时间来使得缓存被动过期,值得一提的是,当缓存的容量超过预先申请的内存池大小的时候,ngx.shared.DICT.set 方法则会尝试以 LRU 的形式淘汰一部分内容。

继续阅读

openResty中cosocket的控制

cosocket 是 OpenResty 世界中技术、实用价值最高的部分。让我们可以用非常低廉的成本,优雅的姿势,比传统 socket 编程效率高好几倍的方式进行网络编程。无论资源占用、执行效率、并发数等都非常出色。

cosocket = coroutine + socket
coroutine:协同程序(后面简称:协程)
socket:网络套接字

继续阅读