第二周打卡

这周文坚老师给我们传授了一些课程学习目标,如下:
1.知道怎么用一个东西。
2.知道这个东西的原理是什么。
3.基于这个原理,在自己的环境下应该怎么做选择。
4.选择过后,知道怎样成本最低。

这节课主要学习了测试。
以assert和should.js为例,比较了TDD 和 BDD 两种模式的区别。assert更适合开发者,而TDD模式则更通俗。

有一道大数相加的题目,很有意思,在此分享~
javascript能表示的最大数值是Number.MAX_VALUE,即1.7976931348623157e+308,这个数值虽然能够正确表示出来,但是存在一个精度丢失的问题。


JavaScript Number

最常见的一种大数相加解决方案,就是将数字拆成一个个字符串,reverse后想加,flag保存进位值,最后reverse回来。要注意最后一位进位。
第二种方法巧妙得运用了位运算。代码如下:

function AddWithoutArithmetic(num1, num2) {
    if (num2 == 0) {
        return num1;
    }
    var sum = num1 ^ num2;
    var carry = (num1 & num2) << 1;
    return AddWithoutArithmetic(sum, carry);
}

原理:第一步不考虑进位,对每一位相加。0加0与1加1的结果都0,0加1与1加0的结果都是1。我们可以注意到,这和异或的结果是一样的。对异或而言,0和0、1和1异或的结果是0,而0和1、1和0的异或结果是1。接着考虑第二步进位,对0加0、0加1、1加0而言,都不会产生进位,只有1加1时,会向前产生一个进位。此时我们可以想象成是两个数先做位与运算,然后再向左移动一位。只有两个数都是1的时候,位与得到的结果是1,其余都是0。第三步把前两个步骤的结果相加。如果我们定义一个函数AddWithoutArithmetic,第三步就相当于输入前两步骤的结果来递归调用自己。

Reference

travis-ci官网
js实现大数相加
面试题:位操作实现四则运算

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • # PPT 365 打卡活动 —— 每天一页 PPT ,不限主题,做了就好。每张图都会附上简要说明和制作方法,有不...
    听行长的话阅读 962评论 4 8
  • 刚刚开始学彩铅,看到笔就像开始动,这不看到这个戴眼镜的小狗狗,忍不住痒痒,结果却是辣么“辣”眼睛。 差得十万八千里...
    婧旭儿阅读 89评论 0 0
  • 在一个storyBoard里面拖一个UIButton进去,然后新建一个自定义UIBUtton类
    LeeLeCoder阅读 187评论 0 0
  • 关于自己的梦想我想很多人都答不出,最近我在想关于我的梦想却发现答案不止一个,那么究竟哪个才是我的梦想。 我希望你不...
    淤潭阅读 252评论 0 0
  • 前几天,和同事聊起最近在看综艺节目,其中一个同事非常坦诚地说,我最近这段时间,已经看不进长达一两个小时的综艺节目了...
    红妹爱折腾阅读 268评论 0 1