| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 572 人关注过本帖
标题:新手求助-几个问题
只看楼主 加入收藏
LOVELUM
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-9-29
收藏
 问题点数:0 回复次数:4 
新手求助-几个问题
byte b=(byte)0xf1
byte e=(byte)((b&0xff)>>4)

请问e的值是几多?书上说是0x0f,为什么?

还有0xff的0是用数字还是字母?

麻烦说明,先谢谢了
搜索更多相关主题的帖子: 字母 
2008-09-29 09:12
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
0x表示的是十六进制

0是数字0



byte b=(byte)0xf1
byte e=(byte)((b&0xff)>>4)


首先b&0xff的结果是0xfx(x表示一个数,这里无所谓多少)
然后右移4位就把上面那个x给移调了,就变成0x0f了

[[it] 本帖最后由 freish 于 2008-9-29 09:36 编辑 [/it]]
2008-09-29 09:14
LOVELUM
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-9-29
收藏
得分:0 
谢谢你的回答
2008-09-29 13:26
LOVELUM
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-9-29
收藏
得分:0 
不过“>>”不是会保留符号位吗?

(byte)0xf1=11110001
      0xff=11111111
      结果=11110001
       >>4=11111111(不是吗?结果的高位不是1吗?因该会复制4个1吗?能不能解释过程)
2008-09-29 18:23
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
火车就要开了,我得走了,等会的人给你解答


如果结果是那样证明那个十六进制数的最高位不符号位
2008-09-29 18:39
快速回复:新手求助-几个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011557 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved