
代码之谜
文章平均质量分 92
迷渡
气若兰兮长不改,心若兰兮终不移……http://justjavac.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代码之谜(二) - 语句与表达式
虽然文章标题是『语句与表达式』,在这篇文章中,我将陈述一个观点 每个表达式都有一个值。 在此之外,也会继续表述这个『代码之谜』系列的主题——数学与计算机之间被经常忽略的矛盾。简单的讲“表达式”(expression)是一个单纯的运算过程,总是有返回值;“语句”(statement)是执行某种操作,没有返回值。使用表达式也是函数式编程语言所提倡的,而传统命令式编程语言都是语句原创 2012-10-30 10:53:54 · 2448 阅读 · 1 评论 -
代码之谜(三) - 运算符
从最简单的运算符加号(+)说起,加号(+)是个二元运算符——也就是说,加号只把两个数联接起来,从来不把第三个或者更多的联接起来。因此,“1加2加3” 在计算机中被表述为:(1 + 2) + 3 // a或者1 + (2 + 3) // b虽然我们通常写做 1 + 2 + 3,但是并不意味这它和我们数学中的 1+2+3 是等价的。那么数学中原创 2012-10-30 10:57:01 · 5942 阅读 · 9 评论 -
代码之谜(五)- 浮点数(谁偷了你的精度?)
****光棍节加长版****如果我告诉你,中关村配置最高的电子计算机的计算精度还不如一个便利店卖的手持计算器,你一定会反驳我:「今天写博客之前又忘记吃药了吧」。你可以用最主流的编程语言计算 0.2 + 0.4,如果你使用的是 Chrome、FireFox、IE 8+,可以按 F12 键,然后找到 「控制台」,输入上面的 表达式 0.2 + 0.4,回车。然后再用最简陋的原创 2012-11-13 12:27:14 · 13074 阅读 · 44 评论 -
代码之谜(四)- 浮点数(从惊讶到思考)
在『代码之谜』系列的前几篇文章中,很多次出现了浮点数。 浮点数在很多编程语言中被称为简单数据类型,其实,浮点数比起那些复杂数据类型(比如字符串)来说, 一点都不简单。单单是说明 IEEE浮点数 就可以写一本书了,我将用几篇博文来简单的说说我所理解的浮点数,算是抛砖引玉吧。一次面试记得多年前我招聘 Java 程序员时的一次关于浮点数、二分法、编码的面试, 多年以后,他已经称为原创 2012-11-06 13:33:40 · 184576 阅读 · 16 评论 -
代码之谜(一) - 有限与无限 (从整数的绝对值说起)
一、引子开始本章之前我先提个问题:“如果一个整数的绝对值等于它自己,那么这个数是几?”如果你回答是 0 和 所有正数,那么请你耐心读完这篇文章吧。本章是我『代码之谜』系列的第二篇,前一篇『代码之谜 - 开篇/前言/序』简单介绍了计算机与数学的不同。数学中有许多复杂深刻的矛盾,数学家的工作就是解释或者反驳这些矛盾, 例如有限与无限、连续与离散、存在与构造、逻辑与直观、具体与抽原创 2012-10-15 16:35:45 · 16969 阅读 · 22 评论 -
代码之谜(零) - 其实,你不懂代码
2012年9月28日 13时32分 新增最近看本文评论,争议很多,我先说说这篇文章的前世今生吧。我原文标题是『代码之谜 - 开篇/前言/序』,副标题是『其实,你不懂代码』,本来打算用“其实,代码中的运算符不等价于数学符号”。原文我写于2010年底,当时写在 evernote 中,用了”群“、”域“、”集合“、”关系“的概念解释了计算机中用二进制表示的离散的数和现实中连续的数之间的关原创 2012-09-26 09:45:51 · 24157 阅读 · 100 评论