10.24程序员节专辑

您所在的位置:网站首页 1024对程序员的意义 10.24程序员节专辑

10.24程序员节专辑

2023-12-31 21:42| 来源: 网络整理| 查看: 265

本文CSDN链接:https://blog.csdn.net/weixin_44938037/article/details/109263390

10月24日程序员节的由来

  为什么将每年的10月24日定为程序员节?1024程序员节是什么梗?

  因为计算机内部采用二进制计算,为了计算方便,一般的计算机储存容量单位(Byte、KB、MB等)的单位进率都是1024,它是2的10次方,又与我们常用的十进制里的1000十分接近,所以这个数字对于程序员来说有特殊意义。因此,中国的程序员日被定在10月24日。

  1024是2的十次方,二进制计数的基本计量单位之一,1024程序员节是中国程序员的共同节日。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。另外,1G=1024M,而1G与1级谐音,也有一级棒的意思,因此每年的10月24日被大家定为程序员节,这也是一个属于中国程序员的共同节日。   众所周知,程序员是一个在外界看来很艰苦的一个工种,网络上甚至有这样的段子:一女孩说择偶的标准是程序员,原因是程序员“钱多话少死得早”。话糙理不糙,从这句话可以看出,常年与加班为伍的程序员,工作压力有多大。你眼中的程序员可能是这样一群人:常年如一日的格子衫着装让你倍感嫌弃又想吐槽?超长反射弧和超高笑点让你经常冷场?略显愚钝木讷的举止让身边的人觉得无聊又无趣……

  他们经常让外人觉得莫名其妙,甚至以“异类生物”,“程序猿”相称呼。但是就是这样一群人让我们的生活悄然改变着,以最低调、踏实、核心的功能模块搭建起这个科技世界,让我们感受着科技力量的伟大和生活的便捷。程序员就像是一个个1024,一步一个脚印,悄无声息地为世界进步贡献着自己的力量。   因此1024程序员节就被定义为关爱身边每一位努力奋斗的程序员的日子。

  1024程序员节,为了让程序员感受到身边“关心和热情”,不少网络公司都使出浑身解数。例如请来美女模特化身程序员鼓励师,为程序员捏肩捶背加油呐喊。   也有发放程序员切身需要的福利:育发洗发水。大家都知道,发际线和秃顶已经似乎已经和格子衫一样,成为了程序员的固定标配。   更"人性化"一点的公司,就直接给程序员放假了.......

  当然,我们也希望各位老板们发扬人道主义精神,坚决贯彻1024程序员节不加班的精神。也让我们一起祈祷:希望在10月24日能无惊无险,这天小鲜肉们都别公布恋情,明星们都别撕逼,让程序员们痛痛快快的过个好节、约个会。

  最后,程序员节程序员们可以写写技术文章,发发朋友圈和博客,让不善言语的程序员们装逼指数瞬间上升!

1024的趣味解释

  1024+996=2020=404+404+404+404+404(今年是2020年,996,404是什么意思你懂的)

1024的数学性质

  1024是1023与1025之间的自然数   1024是一个组成4个十进制数字的最小平方数:\(2^{10}\),它是32的平方:\(32^2\)

  \(2^{10}\)(1024)的近似值是\(10^3\)(1000)   \(\color{red}{1024}=2^{10}=4^5=32^2\)

  1024是合数,正约数有1、2、4、8、16、32、64、128、256、512和1024   1024的质因数分解为\(2^{10}\)。   1024是亏数,真约数和为1023,亏度为1。

  1024是第32个平方数,为32的平方。前一个为961、下一个为1089。   1024是第9个十进制的节俭数。前一个为729、下一个为1029。   正1024边形为第54个可作图多边形。前一个为1020、下一个为1028。

  在计算机中,8bit等于1Byte,1024Byte等于1KB,1024KB等于1MB,1024MB等于1GB,1024GB等于1TB,因为内存二进制寻址的缘故,内存厂商生产内存时会严格遵循这一标准,但大多数硬盘厂商则使用1000作为换算单位,这一点需要注意。   老式4:3显示器分辨率的长度通常为1024像素(宽度为768像素)。

和1024相似的数字

  其实对于程序员而言,不仅仅只对1024这个数字很敏感,事实上,对于很多和2的整数次幂的数字,都有这种神奇的感觉,下面我们来看看1024的小伙伴们长什么样!

8

  1Byte=8bit   年代久远的8位计算机   8位数据类型(字节整型(byte),字符型(char))

16

  16位计算机   一个中文字符占用16bit空间,即2Byte   16位数据类型(短整型(short int))

32

  32位计算机   32位数据类型(默认整型/长整型(int/long int),单精度浮点型(float))   IPv4协议的位数为32位(目前IPv4地址已经全部分配完)

64

  64位计算机(最常见)   64位数据类型(超长整型(long long int),双精度浮点型(double))

127/128

  有符号字节整型可以表示的数的范围是-128~127(128-1)   ASCII码可以表示128种字符,范围从0~127   MD5编码通常为128位   IPv6协议的位数为128位

255/256

  无符号字节整型可以表示的数的范围是0~255(256-1)   扩展ASCII码可以表示256种字符,范围从0~255   常用的8位RGB颜色分量范围是0~255

512

  老式硬盘的扇区大小为512字节   老式硬盘MBR主引导记录占用一个扇区,大小为512字节

2048

  著名益智消除小游戏2048,其玩法是从2开始,每两个相同数字的方块可以合成出一个新的2倍大小数字的方块,游戏中体现了二进制合成的思想,最后看谁能合成到2048,而且之后还可以继续向更大数字挑战

4096

  新型硬盘的扇区大小为4096字节(4KB)

32767/32768

  短整型可以表示的数的范围是-32768~32767(32768-1)

65535/65536

  无符号短整型可以表示的数的范围是0~65535(65536-1)   16位色图片(RGB565)可以表示65536种颜色

1048576

  1MB=1048576Byte

16777216

  24位色图片(RGB888,最常见的图片)可以表示16777216种颜色

1073741824

  1GB=1073741824Byte

2147483647/2147483648

  默认整型/长整型可以表示的数的范围是-2147483648~2147483647(2147483648-1)(所以很多游戏的经验值/金币上限是2147483647,当然也有使用无符号整型的上限是4294967295,此外,Unix时间戳用从1970年1月1日开始的时间秒数来记录时间,因此在时间戳对应整数达到2147483647时,即格林尼治时间2038年1月19日凌晨03:14:07,北京时间2038年1月19日中午11:14:07的时候,使用Unix时间的32位计算机应用程序可能将无法正常工作,这个问题被称作“2038年问题”。)   FAT16格式分区的最大容量为2147483648Byte(2GB)

4294967295/4294967296

  无符号(长)整型可以表示的数的范围是0~4294967295(4294967296-1)(这也是一个很常见的上限)   FAT32格式分区单个文件最大大小为4294967296Byte(4GB)   32位操作系统最大支持4294967296Byte(4GB)的内存   IPv4协议可以表示的地址数为4294967296(约42.9亿,目前IPv4地址已经全部分配完)

\(2^{63}-1\ /\ 2^{63}\)

  超长整型可以表示的数的范围是\(-2^{63}\sim2^{63}-1\)

\(2^{64}-1\ /\ 2^{64}\)

  无符号超长整型可以表示的数的范围是\(0\sim2^{64}-1\)   NTFS格式分区的理论最大容量为\(2^{64}\)Byte(16EB)

\(2^{128}\)

  IPv6协议可以表示的地址数为\(2^{128}\)(估计到宇宙毁灭也用不完)

感觉中的1024

  听觉系统接收到的是声波(机械波)信息,机械波有振幅,波长,波速等要素,其中振幅反映波的强度,而波长决定了波的某些性质。和视觉系统一样,人类只能接收一定波长范围内的机械波,这一部分机械波称作可闻声(类比可见光)。   若用c表示声速,则人类能接收到的机械波的波长范围大约是\(\frac{c}{20000}\sim\frac{c}{20}\)(常温下c的值大约为340m/s)。但是人类对机械波的感知通常是对数感知,即等比感知,波长的比值相等时,人类认为它们在听觉上的距离也是相等的,用数学语言描述,就是当\(\frac{λ_1}{λ_2}=\frac{λ_3}{λ_4}\)时,1,2的距离和3,4的距离是相等的,两边取对数后,就是\(log_aλ_1-log_aλ_2=log_aλ_3-log_aλ_4\),把原来的除法变成了减法,所以取对数后,反映的才是真正意义上的“距离”。   如果两个波波长的比值为1:2(或2:1),我们称它们之间的距离为一个“八度”(octave),这里的“八度”是借用了乐理上的术语,实际上就是两倍关系的意思。   根据“八度”的定义,人类听觉范围大约是10个八度,由于\(2^{10}=\color{red}{1024}\),也就是1024倍的波长范围。这就是感觉中的1024的由来。

  有的人可能会问,按照刚才给的数据,应该是1000倍啊。其实,这个范围也只是大概的范围,实际上会有些许误差,加上刚才所说的对数感知问题,其实这里的1000和1024在对数角度下差别已经很小了,之所以我要强调1024,也是为了强调人类的对数感知(10个八度),换算成倍数后,刚好是1024,这其实是挺神奇的一件事。

  其实对数这个东西很神奇,从最短波长开始,波长每翻一倍,相当于降低了一个八度,听起来也就更热情一分,最后就变成“低音炮”了,超级激动人心!我曾经把这种波长很长的声音比作红色,就是这样来的,因为它的波长最长,就和红光一样,而且它听起来让人兴奋,心跳加速,很热血,很激情的感觉!这不就和红色给人的感觉是一模一样的吗?而且根据物理原理,这种波长很长的声波穿透力是极佳的(也和红光一样),所以在大老远都能很清楚地听到。比如某辆车里有人正在放歌的话,我在车外第一耳能听到的就是低音炮的声音!   但是人的眼睛看到的可见光只有差不多2倍的波长范围(\(390*10^{-9}\sim780*10^{-9}\mathrm{m}\)),比声波(传说中的1024倍)小多了。

  不过我仍然认为人的视觉好于听觉,毕竟人眼的细胞相当于可以分辨出10亿多的像素,而且可见光的2倍多的波长范围中也包括了彩虹的七种颜色,所谓七彩缤纷吧!   而耳朵,呵呵,很多人都没有音感,经常不对调,就算有,也很难有绝对音感(直接说出波长的能力),而且音质和音色这个问题,就更呵呵了,众所周知,耳机和hifi圈子中的玄学都是这样来的。   所以我认为,相比于视觉,人的听觉还是要逊色一些,毕竟这个东西看不见也摸不着,是无形的,所谓眼见为实,耳听为虚吧!当然,我们听声音,是为了满足心理上的快乐的,而不是去玩玄学,搞出让人云里雾里的言论的,如果是这样的话,就违背了我们享受快乐的初衷了!

  人类的听觉不光是对数的,而且还是“二进制”的,这又和程序员扯上关系了!你可能会问,既然2倍波长是“八度”,那么3倍,5倍是什么呢?其实一个很神奇的现象是,人类的听觉特别“喜欢”整数比,尤其是小整数比,所以人类认为2倍波长(八度)是非常“和谐”的,其实3倍,5倍也一样“和谐”,但是不如2倍那么的“和谐”,所以2倍对于人类来说就是个很特别的比例了,以至于我们专门找了一个词“八度”去描述它,而3倍,5倍就没有这样的待遇了。一个值得注意的现象是,如果两个音之间的距离是“八度”,那么人类会认为它们是相似的音,3倍,5倍则没有这样的效果。所以我们也经常用2倍即“八度”作为对数坐标上的一个单位去分析波长谱。这样看来,就和二进制就扯上关系了!   如果把某个特定的音用二进制表示,将会得到意想不到的结果,而十进制则做不到这一点,下面我们就一起来看看:

音名 C(上面加两点) B(上面加一点) Bb(上面加一点) A(上面加一点) Ab(上面加一点) G(上面加一点) Gb(上面加一点) F(上面加一点) E(上面加一点) Eb(上面加一点) D(上面加一点) Db(上面加一点) C(上面加一点) 相对波长(十进制) 1 1.059463 1.122462 1.189207 1.259921 1.334840 1.414214 1.498307 1.587401 1.681793 1.781974 1.887749 2 相对波长(二进制) 1 1.00001111001110010000 1.00011111010110011011 1.00110000011011111110 1.01000010100010100011 1.01010101101110000001 1.01101010000010011110 1.01111111100100010001 1.10010110010111111111 1.10101110100010100000 1.11001000001000111110 1.11100011010000111000 10 音名 C(上面加一点) B Bb A Ab G Gb F E Eb D Db C 相对波长(十进制) 2 2.118926 2.244924 2.378414 2.519842 2.669680 2.828427 2.996614 3.174802 3.363586 3.563595 3.775498 4 相对波长(二进制) 10 10.0001111001110010000 10.0011111010110011011 10.0110000011011111110 10.1000010100010100011 10.1010101101110000001 10.1101010000010011110 10.1111111100100010001 11.0010110010111111111 11.0101110100010100000 11.1001000001000111110 11.1100011010000111000 100   (由于精度原因,二进制采用了较多的小数点位数进行表示)

  从表中可以看出,从左到右波长依次增大,最后波长变为原来的2倍,即经过了一个“八度”,第二个表继续按照这种方式进行下去。由于上下两个表中每一对应列的波长比值均为1:2,所以人类会认为它们是两个相似的音,因此我在这两个表中所写的音名其实是一样的,只有“加点”的区别,而加的点就是为了区分不同的“八度“的。   如果按照十进制表示,上面的表和下面的表的波长之间存在2倍的关系,但需要进行计算,而如果按照二进制表示,下面的表的波长仅仅只是向左移动了一位小数点,不需要任何额外的运算。在二进制表示波长的情况下,按照这种方式推导下去,我们甚至可以很容易地把接下来的一个表写出来,逆向推导(波长减小)同理,只不过要把小数点移动方向变成向左移动。

  总结:如果把人类能感知到的机械波的最短波长用1表示,那么它对应的第二个“八度”和第三个“八度”距离的相对波长在二进制下就分别是10,100,在十进制下就分别是2,4,到了最长波长的时候,那么在二进制下,相对的最长波长就是10000000000(1后面有10个0,即10个“八度”),在十进制下,就是1024了!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3