0%

By Long Luo

建筑是凝固的音乐,斑驳的外墙演绎着历史的旋律。

布鲁日是一座被时间静止的美丽小城。漫步在布鲁日的小巷中,脚踏着青石板路,仿佛走入了中世纪。满眼是砖红色屋顶,哥特式的长窗,高高伫立的钟楼,还有墙壁上随处可见的洛可可画作,你依然能感受到当年布鲁日的繁荣和富庶。

阅读全文 »

By Long Luo

By Long Luo

众所周知,计算机系统从16位发展到32位,再从32位发展到64位,与此同时不同的数据类型也随着系统的位数增大而增大。早期的操作系统是16位系统,int用二字节表示,范围是-32768~32767,long用4字节表示,范围是-2147483648~2147483647;后来发展到32位操作系统,int用4字节表示,与long相同;目前的操作系统已发展到64位操作系统,但因程序编译工艺的不同,两者表现出不同的差别:

  • 32位编译系统:int占四字节,与long相同。
  • 64位编译系统:int占四字节,long占8字节,long数据范围变为:-2^63~2^63-1

具体在标准中,并没有规定long一定要比int长,也没有规定short要比int短,只是规定了长整型至少和整型一样长,整型至少和短整型一样长。这个规则同样适用于浮点型long double至少和double一样长,double至少和float一样长。至于如何实现要看编译器厂商。

下表所展示的是微软32位和64位编译器所识别的数据类型详细信息:

Type Name Bytes Other Names Range of Values
int 4 signed -2,147,483,648 to 2,147,483,647
unsigned int 4 unsigned 0 to 4,294,967,295
int8 1 char -128 to 127
unsigned
int8 1 unsigned char 0 to 255
int16 2 short, short int, signed short int -32,768 to 32,767
unsigned
int16 2 unsigned short, unsigned short int 0 to 65,535
int32 4 signed, signed int, int -2,147,483,648 to 2,147,483,647
unsigned
int32 4 unsigned, unsigned int 0 to 4,294,967,295
int64 8 long long, signed long long -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
unsigned
int64 8 unsigned long long 0 to 18,446,744,073,709,551,615
bool 1 none false or true
char 1 none -128 to 127 by default

0 to 255 when compiled by using /J
signed char 1 none -128 to 127
unsigned char 1 none 0 to 255
short 2 short int, signed short int -32,768 to 32,767
unsigned short 2 unsigned short int 0 to 65,535
long 4 long int, signed long int -2,147,483,648 to 2,147,483,647
unsigned long 4 unsigned long int 0 to 4,294,967,295
long long 8 none (but equivalent to int64) -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
unsigned long long 8 none (but equivalent to unsigned
int64) 0 to 18,446,744,073,709,551,615
enum varies none
float 4 none 3.4E +/- 38 (7 digits)
double 8 none 1.7E +/- 308 (15 digits)
long double same as double none Same as double
wchar_t 2 __wchar_t 0 to 65,535

从上述表格中可以看出,普通工作生活中所涉及的数字都不会超过int所能表示的范围,而超过long long类型则少之又少。但是具体到一些行业或者科研中,比如天文,石油开采等,经常需要和天文数字进行打交道。举例来说,50!,10^20这种阶乘或者指数函数轻而易举就突破最大所能表示的范围。

如何表示这些超大数字以及对其进行数学运算呢?

阅读全文 »

By Long Luo

Do you remember the first time going to somewhere that you enjoyed a lot? Well I remember my first time at Chimelong Ocean Kingdom. To be honest this was my first time going to Chimelong Resort. I know what you’re probably thinking right now “wow! He hasn’t been to the before!”.

To be continued…

By Long Luo

机器学习中需要训练大量数据,涉及大量复杂运算,例如卷积、矩阵等。这些复杂运算不仅多,而且每次计算的数据量很大,如果能针对这些运算进行优化,可以大幅提高性能。

一、矩阵乘法

假设$A$为$m \times p$的矩阵,$B$为$p \times n$的矩阵,那么称$m \times n$的矩阵$C$为矩阵$A$与$B$的乘积,记作$C = AB$,称为矩阵积(matrix product)。

其中矩阵$C$中的第$i$行第$j$列元素可以表示为:

如下图所示:

@Figure 1. Matrix Multiplication | center

假如在矩阵$A$和矩阵$B$中,$m = p = n = N$,那么完成$C = AB$需要多少次乘法呢?

  1. 对于每一个行向量$r$ ,总共有$N$行;
  2. 对于每一个列向量$c$,总共有$N$列;
  3. 计算它们的内积,总共有$N$次乘法计算。

综合可以看出,矩阵乘法的算法复杂度是:$\Theta(N^{3})$。

二、Strassen算法

那么有没有比$\Theta(N^{3})$更快的算法呢?

阅读全文 »

By LongLuo

一、

最近在思考普通人的天花板能有多高?

如果一个人,出生时没被基因彩票砸中,一路上也没有逆天的运气,那他天花板能有多高?地板又有多低?

从统计来看,绝大多数人35岁以后确实没有什么大的改变,因为随着年龄增大,身体机能下降,人生可能性越来越小。历史上的天才在做出巨大发明贡献时也都在30岁之前,所以国内职场非常不待见35岁以上的老同志也在情理之中。


1. 褚老师经历过人生最低谷吗?你信命信风水吗?未来哪些行业有赚钱机会?


我是一个挺迷信的人。

比如我一直坚信好事一旦说出来肯定会泡汤。写了一篇感觉很好的论文,投出去千万别到处说,尤其是不能说「感觉不错,这篇估计要中」之类的话——说要中肯定中不了,不管你理论多牛逼实验多周到结果多惊人文笔多流畅,一定会在你意想不到的地方出漏子。

比如你认识了一个美女,感觉特好约她周末出来吃晚饭,而且她居然答应了。你千万别一高兴就跟同宿舍的哥们儿汇报战果,一旦说了,你瞧着吧,就在礼拜六约好的时间前你一定会收到美女的微信,说哎呀抱歉我有事来不了了咱们以后再约吧。

比如我一直有一个强迫症,在街上走路碰到井盖一定要从井盖上踩过去,有时候就算井盖在马路的中间而马路上有车,我还是会忍不住冒险去踩那个井盖,最糟糕的是如果路上连着有好几个井盖而且位置还忽左忽右,在旁观者眼里我一定看起来像个疯子。

忘了一个细节,我不仅要踩到井盖,而且必须是踩井盖的左半边。如果不是这样,我会觉得很不吉利。

我类似的迷信还有好多,比如做一件重要的大事之前不能理发,比如不能拿自己珍惜的人或东西的名字当密码,比如……

作为一个学物理的「科学工作者」,我当然知道这些绝不是什么理性的举动,当然,更毫无科学依据可言,用你的话说,我的各种迷信纯属——脑残。

可是,我还是不敢把好事提前说出来,我还是会忍不住去踩井盖。

我想说的是,我不信风水,可是我很能理解那些信风水的朋友,以及风水能够给人带来的安慰——生活中不确定的东西太多,而每个人又都渴望得到确定的答案,希望自己能为改变不能改变的命运做点儿什么,如果能踩井盖给自己带来点儿好运气,如果把卧室里的床换个位置就会事业上升走桃花运之类的,我想谁都会有难以拒绝的时候吧。

而且,比起踩井盖来说,风水也许还更靠谱一点。

阅读全文 »

By Long Luo

By Long Luo

上周末去了趟南方工厂,下午顺便逛了下朋友圈网红之地:华为欧洲小镇,大名溪流背坡村

作为一名业余建筑爱好者,不用出国门就可以体验十多个不同风格的欧洲小镇,确实不虚此行。既能体验浓浓的地中海风情,也有精致考究的法式巴黎大学城,更有学院风温和宁静的海德尔堡…

从美观角度来看,溪村确实很美,但如果从建筑学角度来看,其实不足之处也不少。任何建筑都脱离不了形成它的文化和环境,但这些建筑群只是在钢筋混凝土的骨架上再套上一层欧式风情的外壳,内涵还不够。

相比欧美,国内小城市和小镇,却总给人脏乱差的感觉,为什么呢?看完欧洲小镇,有了部分答案。

阅读全文 »