摘要:
几种零值比较的情况:1. bool类型与零值bool bTestVal;最好写成 if(bTestVal) 和if(!bTestVal)而不要写成:if(bTestVal == 0)和if(bTestVal != 0)//容易误会也不要写成:if(bTestVal == TRUE )和if(bTestVal == FALSE)//有些编译器把TRUE当作-1,如visual basic2. float变量与零值的比较float fTextVal = 0.0;if((fTextVal >=0.0 - EPSINON)&&(fTextVal <=0.0 + EPSINO 阅读全文
摘要:
在计算机系统中,数值一律用二进制补码进行表示,补码的计算规则是:补码 等于 原码按位 取反 再 加 1。有符号类型的数值,最高位是符号位,1为负数,0为正数。按照补码计算规则,可得 正数的补码等于其原码。如:char num;num = 1;如 +1 的原码是 0000 0001 ,补码也是 0000 0001;而 - 1 的补码是 1111 1111。以下以8位有符号类型的数值来认识一下补码:可以看到,当用8位来存储数据时,数据的大小范围是 -128到127。可以发现,+127加1后,如果是无符号的,表示的是128,但如果是有符号的,则刚好是-128的补码,再加1,是-127的补码。而,-1 阅读全文