闲言碎语
关于0的意义,起初最早理解是作为占位符号使用以及“无”的一种抽象表达。另外就是因计算机中0和1常用来作为开关被二进制使用。在阅读完本章节之后,更加加深了一些关于0,或者说数字的认知。具体表现在做按位计算模块以及指数计算推算模块。下面对章节做一下几点汇总笔记:
1. 进制及转换
其实在计算机领域,对于十进制、二进制、十六进制这些名词是再熟悉不过的,其中的推算方法也都已经烂熟于心了。在此笔记主要记忆一句:十转二,除二取余后逆序。然后就是一个对比(在此主要针对十进制与二进制):
进制 | 特点 |
---|---|
十进制 | 位数少、种类多、便于人类理解 |
二进制 | 位数多、种类少、便于机器理解 |
在此,给自己留个思考题:关于CPU与GPU运算架构不同导致计算各有所长,探寻一下其内在最在的差异性,也是之前研究深度学习一直想从底层了解CUDA的初衷。Mark一下
2. 按位计数法
此处主要回顾计算机课程中的按位计算,特别是有符号编码计算与无符号编码计算以及反码与补码变换,具体见如下脑图:
例:以书中例子推演,若要求19-21=-2的情况,首先,无符号编码无法表示负数,所以用有符号编码做计算,即利用补码做运算【以下步骤假设均为8位编码做计算】。
因19为正数,补码与原码一致,因此编码为:0001 0011,而后面的减21可以看做加-21,因此需要做一下步骤变化:
转码之后做按位运算得到1111 1110,然后对其还原,即做反码和+1操作,得到1000 0010,也就是-2。以上就是所有计算步骤。
3. 指数法则
以往惯性认知的指数是n个重复值想成,如此,便解释不了X的0次方问题,因为0个X相乘理应为0。应该解释为X的n次方为X的n+1次方的X分之1。
另外,关于分数次幂需要回顾一下,具体可如下图所示:
小结
以上就是关于《程序员的数学》1第一章的阅读笔记,总的来说首先从位运算与指数计算方面重新回顾了计算机处理逻辑以及数学方面的知识。而本文也是本人第一篇博文。希望自己以后多多增加阅读量,完成计划内的书单,并做好笔记。也希望对看过该文的朋友有些许帮助。最后,套用爱丽丝梦游仙境中的一句话激励自己:
在程序的世界里,只有不断学习,才能留在原地。