首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

数值溢出演算

2012-08-09 
数值溢出运算char chr127int sum100chr+1sum+chrchr是char类型,共八位。赋127。8位为0111 1111。此时

数值溢出运算

char chr=127;int sum=100;chr+=1;sum+=chr;

chr是char类型,共八位。赋值127。8位为0111 1111。

此时若用%d格式打印出来时,规则是,看最左侧为0.为正,

绝对值为2^7-1,即127。chr++后,

二进制为1000 0000。用%d打印出来为,最左侧为1,为负值。

绝对值,要考虑8位。及2^7.即为-128。

char类型的变量,8位,若有符号,范围为-128~~127。若

无符号,为0~~255。所以,sum的值为100+(-128)=-128


-1如何表示呢?

是1的反码+1.即0xFFFF FFFF



热点排行