关于量化位数和AD转换精度的分析

关于量化位数和AD转换精度的分析,第1张

关于量化位数和AD转换精度的分析,第2张

提出的问题:

(梦的边缘(注:不是梦的边缘,_))

private Sub Form _ Click()
Dim sum As Integer,i As Integer,j As Integer
sum = 0
For I = 0到1
sum = sum + 1
For j = 0到3
如果不是(j Mod 2)则sum = sum+1
Next j
Next I
Print " sum = ";为什么sum
End Sub
运行结果sum=10而不是sum=6?

答:

这是一个相当微妙的话题!

我们先来看看:

打印Not (0),Not(-1),Not(1)

运行结果是什么。

估计有网友会做出:

0、-1和1转换为布尔值,分别为false、true、true和true。

因此,结果是:真假假

但实际上,运行结果是:

-1 0 -2

为什么?

原来这是Not的一种特殊用法。

当Not为数值时,在按位运算前会自动舍入。

以Not(0)为例,

0二进制是:0000000,那么Not(0)将对二进制取反,

是:11111111,第一位是1,是负数,

补码11111111代表什么数?

用补码求负数绝对值的原码。规则是:减一,每个数字反过来。

Get: 0000001是1。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 关于量化位数和AD转换精度的分析

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情