摘要:
强类型的好处是在编译期就能发现问题。应该善用这个优势。函数入口经常要检测参数是否合法。我觉得主要原因在于算法无法处理类型的所有实例,而只能处理部分实例,所以要判断参数的值。那么为何不去构造更严格范围的新类型,而避免参数值判断呢?比如算法只能处理偶数就不要用int,而用新的偶数类。 阅读全文
搜索
积分与排名
- 积分 - 308563
- 排名 - 3168
随笔分类 (315)
最新评论
- 1. Re:为什么0.1无法被二进制小数精确表示?
- @诺贝尔 感谢回复!你的思路给了我一些启发...
- --safoie
- 2. Re:为什么0.1无法被二进制小数精确表示?
- @safoie 你好,确实是我数错了,是5位。...
- --诺贝尔
- 3. Re:为什么0.1无法被二进制小数精确表示?
- 您好,感谢您的补充,根据我的理解,1右移一位等于1×2=2;右移两位等于1×(2的平方) =4;右移三位等于1×(2的三次方)=8;右移四位等于1×(2的四次方)=16,右移五位的话才等于1×(2的五...
- --safoie
- 4. Re:为什么0.1无法被二进制小数精确表示?
- @safoie 你好,这里的算法表现力不足,因为没有采用数学符号。 这里面用的就是辗转相除法。1/20,被除数向右移动一位,等于1*2,4位等于32,比除数大,然后用32-20,剩余12。 它和普通的...
- --诺贝尔
- 5. Re:为什么0.1无法被二进制小数精确表示?
1* 2* 2* 2* 2 为啥等于32?右移四位是以什么为依据的呢?
- --safoie