2024年 4月 23日
为什么很多编程语言判等用==而不是=?
在数学或者计算机科学中,判断相等相比于赋值,个数少的可怜。按照编码理论,出现次数越多的符号用最少的字符编码更有利。用”=”当做赋值,”==”相等也是有道理的。
在数学或者计算机科学中,判断相等相比于赋值,个数少的可怜。按照编码理论,出现次数越多的符号用最少的字符编码更有利。用”=”当做赋值,”==”相等也是有道理的。
这就是ObjC运行时的魅力,编译器查找已有的头文件,没看到这个对象能处理此消息,但ObjC宁愿相信运行时可能在其他地方找到实现,这是ObjC最初设计的目标之一,可以不依赖编译期。提示的警告形如:'ob...
libc解析格式串是按预定义的格式,当看到%l的时候,会向后查看是否是d/x/i/f等字符,但看到%g的时候就知道后面不管是任何格式都不是支持的,就会当做浮点数解析,当然后面的x当做原字符输出。
C语言标准规定float类型小数点至少保证6位,double类型至少保证10位。可参考不同编译器float.h的FLT_DIG和DBL_DIG的定义。GCC和MSVC编译器分别设置的是6和15.
源于计算机硬件最自然支持int类型(一般而言),int类型大小和硬件常用寄存器大小相同(64位系统有所不同)。一个小于int长度的数值,就算在硬件寄存器里面,最自然也是int长度,那就不如用int来计...