Dict.CN 在线词典, 英语学习, 在线翻译
随笔-91  评论-317  文章-0  trackbacks-0
看几个例子:
    short a =0xa400;
    
long nShift = 2;
    
if(a <<nShift <0)
        nShift 
= 0;
上面的程序中,nShift等于多少?
    short a =0xa400;
    
long nShift = 2;
    
long b = a<<nShift;

上面程序的b最后值是多少?
    short a =0xa400;
    
long nShift = 2;
    short c 
= a<<nShift;
上面程序中的c是什么值?
    short a =0xa400;
    
long nShift = 2;
    b 
= a&0x80000000;
    
if(b>0)
        nShift 
= 1;
上面程序中nShift的值是多少?
posted on 2007-07-13 17:29 笨笨 阅读(704) 评论(3)  编辑 收藏 引用 所属分类: 编码

评论:
# re: 关于数据类型转换的有趣问题 2007-07-15 11:10 | snpng
其实只要注意各类型数据所占空间就行了,比如short一个字节。  回复  更多评论
  
# re: 关于数据类型转换的有趣问题 2007-07-17 00:39 | muf
一般不要对带符号数做此类的操作,因为此类操作会降低代码的可读性。  回复  更多评论
  
# re: 关于数据类型转换的有趣问题 2007-07-20 14:01 | chio
short在win32上为2bytes
另外带符号数的移位涉及到逻辑和算术两种
注意这些你的这些可以很好解决而不会疑惑
@snpng
  回复  更多评论
  

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]