摘要: 偶然在写位输出函数时发现了“(i<<3)>>3”这个问题,下面我贴一段代码使问题更加清晰: 按照正常思维,结果应该是31。因为8个1,向左移3位再移回来,左边3位应该补0。注意这里用的是unsigned char,向右移位才是逻辑移位。但程序运行时,输出的结果却是255。跟没有移位一样! 难道是编译器智商太高了,认为左移后又移回来这种傻事只有傻子才会... 阅读全文
posted @ 2009-09-27 23:39 紫红的泪 阅读(1348) 评论(0) 推荐(0)