总结及感悟

Posted 王玉成的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结及感悟相关的知识,希望对你有一定的参考价值。

前几天太忙。没来得及继续看书。今天趁放假,把第2章看完了。除浮点数知道存储格式,略过原理推导外,其它部分都认真读了。

第二章的核心:数的表示与数的运算。

需要注意下列几类问题:

  1. 数的表示
    数的表示,按数的类型划分:整数和浮点数。按定义规则,分为有符号数和无符号数。共4个大类。

其中,浮点,可以理解float以及double在内存单元中的定义情况,以及小数如何计算。然后+0.0与-0.0的差别,以及浮点数的表示。要明白,浮点0.0和整数0在计算机中的表示是不一样的。
浮点的三类情况,规格化值,非规格化值,特殊值。以及这三类值的位的表示。

主要的描述,还是在整数上,由于在c语言中,ASCII字符和整数是一类表示方法,只是范围不同,所以弄清了整数就好。
笔记二 习题2.26有符号和无符号引出的问题
描述了有符号及无符号的运算产生的问题。
还涉及到另一类的问题,就是数的越界问题。比如你不清楚传入参数是什么样的数的时候,最好去判断一下,如果超出范围,直接报错。
就和练习题2。37那样,干脆一下,对大家都好。
其中可借鉴的代码如下.假定我们不清楚数据a的关型.假设在32位的机器上,这样下面那种类型是有差别的。

unsigned long long val_1 = (unsigned long long)a;
unsigned long val_2 = (unsigned long)a;
if(val_1 != val_2)
   /*overflow*/
else
   ...

对于数据类型,还有数据符号问题,要慎之又慎。

  1. 数的运算

嵌入式开发中,位运算用的实在太多了。然后对于寄存器操作,都用无符号数,这是稍微偏于更底层的运算。在这一层编码时,尽量用位运算解决所有问题,包括位操作,还有一些乘除法的位运算的转化。其中,只有特定的除法可以用位运算。

位运算上层,就是通用的运算。乘除法,让编译器去优化了。但是除法还是最耗时的,特别在嵌入式系统上,尽量少用除法。

以上是关于总结及感悟的主要内容,如果未能解决你的问题,请参考以下文章

大数据:大一整年感悟及总结

《数字图像处理》学习总结及感悟:第二章数字图像基础电磁波传感器及辐射成像原理

《数字图像处理》学习总结及感悟:第二章数字图像基础数学工具

react技术栈全家桶(总结及感悟)

《数字图像处理》学习总结及感悟:第二章数字图像基础人眼结构感知和错觉

《数字图像处理》学习总结及感悟:第二章数字图像基础像素间的关系