如何知道浮点数小数精确位数?
C语言标准规定float类型小数点至少保证6位,double类型至少保证10位。可参考不同编译器float.h的FLT_DIG和DBL_DIG的定义。GCC和MSVC编译器分别设置的是6和15.
C语言标准规定float类型小数点至少保证6位,double类型至少保证10位。可参考不同编译器float.h的FLT_DIG和DBL_DIG的定义。GCC和MSVC编译器分别设置的是6和15.
源于计算机硬件最自然支持int类型(一般而言),int类型大小和硬件常用寄存器大小相同(64位系统有所不同)。一个小于int长度的数值,就算在硬件寄存器里面,最自然也是int长度,那就不如用int来计 …阅读更多
self是ObjC类成员方法的隐藏的第一个参数名,它和C++的隐式this指针是类似作用。可以查看.m文件对应的C代码找到端倪: clang -rewrite-objc demo.m (此处简化以省略 …阅读更多
libm是数学库: 随着计算机资源(内存资源)迅速发展,程序体积已经增加已经不是瓶颈,很多编译器不再需要手动连接libm, 而是默认就会链接libm, 当写代码调用三角函数的时候也不必特别链接libm …阅读更多
一般而言,三角函数的计算是比较复杂的。会采用查表和近似计算(如泰勒级数展开式)来模拟构造三角函数的近似值。 sin(x) = x – x^3/3! + x^5/5! – x^7 …阅读更多
可以的。宏定义并不保证一定作用至文件末尾,一旦有#undef取消它定义,源代码之后就不会有先前的宏定义。这意味着,可以在代码开始#define NUM 10,不需要NUM的时候用#undef NUM, …阅读更多