- 博客(13)
- 收藏
- 关注
转载 【转】代码之谜(五)- 浮点数(谁偷了你的精度?)
****光棍节加长版****如果我告诉你,中关村配置最高的电子计算机的计算精度还不如一个便利店卖的手持计算器,你一定会反驳我:「今天写博客之前又忘记吃药了吧」。你可以用最主流的编程语言计算 0.2 + 0.4,如果你使用的是 Chrome、FireFox、IE 8+,可以按 F12 键,然后找到 「控制台」,输入上面的 表达式 0.2 + 0.4,回车。然后再用
2013-03-01 15:06:45 329
转载 【转】代码之谜(四)- 浮点数(从惊讶到思考)
在『代码之谜』系列的前几篇文章中,很多次出现了浮点数。 浮点数在很多编程语言中被称为简单数据类型,其实,浮点数比起那些复杂数据类型(比如字符串)来说, 一点都不简单。单单是说明 IEEE浮点数 就可以写一本书了,我将用几篇博文来简单的说说我所理解的浮点数,算是抛砖引玉吧。一次面试记得多年前我招聘 Java 程序员时的一次关于浮点数、二分法、编码的面试, 多年以后,他已经称为
2013-03-01 15:05:45 329
转载 【转】代码之谜(三) - 运算符
从最简单的运算符加号(+)说起,加号(+)是个二元运算符——也就是说,加号只把两个数联接起来,从来不把第三个或者更多的联接起来。因此,“1加2加3” 在计算机中被表述为:(1 + 2) + 3 // a或者1 + (2 + 3) // b虽然我们通常写做 1 + 2 + 3,但是并不意味这它和我们数学中的 1+2+3 是等价的。那么数
2013-03-01 15:04:04 257
转载 【转】代码之谜(二) - 语句与表达式
虽然文章标题是『语句与表达式』,在这篇文章中,我将陈述一个观点 每个表达式都有一个值。 在此之外,也会继续表述这个『代码之谜』系列的主题——数学与计算机之间被经常忽略的矛盾。简单的讲“表达式”(expression)是一个单纯的运算过程,总是有返回值;“语句”(statement)是执行某种操作,没有返回值。使用表达式也是函数式编程语言所提倡的,而传统命令式编程语言都是语句
2013-03-01 15:02:52 266
转载 【转】代码之谜(一) - 有限与无限 (从整数的绝对值说起)
一、引子开始本章之前我先提个问题:“如果一个整数的绝对值等于它自己,那么这个数是几?”如果你回答是 0 和 所有正数,那么请你耐心读完这篇文章吧。本章是我『代码之谜』系列的第二篇,前一篇『代码之谜 - 开篇/前言/序』简单介绍了计算机与数学的不同。数学中有许多复杂深刻的矛盾,数学家的工作就是解释或者反驳这些矛盾, 例如有限与无限、连续与离散、存在与构造、逻辑与直观、具体与抽
2013-03-01 15:01:59 318
转载 【转】代码之谜(零) - 其实,你不懂代码
2012年9月28日 13时32分 新增最近看本文评论,争议很多,我先说说这篇文章的前世今生吧。我原文标题是『代码之谜 - 开篇/前言/序』,副标题是『其实,你不懂代码』,本来打算用“其实,代码中的运算符不等价于数学符号”。原文我写于2010年底,当时写在 evernote 中,用了”群“、”域“、”集合“、”关系“的概念解释了计算机中用二进制表示的离散的数和现实中连续的数之间的关
2013-03-01 15:00:31 301
转载 C++中MAP的操作
1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。2、map的功能自动建立Key - value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000
2012-05-03 16:06:40 480
转载 C++ vector容器类型
vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 :#include 使用vector有两种不同的形式,即所谓的数组习惯和STL习惯。一、数组习惯用法1. 定义一个已知长度的 vector :vector ivec( 10 ); //类似数组定义int
2012-04-11 10:14:11 263
转载 c++中,什么时候用 A a;和什么时候用A a=new A;
说明:此处内容是在网上摘抄的,总结一下,为了以后查找方面。new是在堆上分配内存,它需要用delete释放,否则会造成内存泄漏(使用的内存没有即时释放,造成内存的浪费)而A a在右大括号执行后,会自动释放内存如int main(){A a;//定义了一个a对象A *p=new A;//在堆上定义了一个对象,它的指针保存在p里,注意,堆上定义的对象没有名字,必须用指针保存
2012-04-10 22:33:43 876
转载 C++ 声明对象
在c++的类中,我如果要访问类中的成员变量或函数,有2种方法,第一种就是定义一个一个对象,如:Class A ... A aa;aa.xxx();另外一种就是Class B ...B *aa = new B();aa->xxx();在java中,A a = new A()c++中等同于 A a;另外在c++中还有另外一种声明和实例化就是使用指针,如
2012-04-10 22:32:30 267
转载 Js 中如何判断Null
以下是不正确的用法: var exp = null;if (exp == null){ alert("is null");}exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。var exp = null;if (!exp){ alert("is null");}
2011-12-08 09:23:59 541
转载 document.domain解决跨域问题
原文:http://blog.csdn.net/zhaozheng7758/article/details/6220427用来得到当前网页的域名。比如在地址栏里输入:www.example.com alert(document.domain); //www.examp
2011-10-09 10:19:07 1807
转载 【转】c语言中的字符数组与字符串
1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果
2011-08-25 22:10:47 950
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人