搜索
编程论坛
→
开发语言
→
『 JAVA论坛 』
→ 新手求助-几个问题
标题:
新手求助-几个问题
只看楼主
LOVELUM
等 级:
新手上路
帖 子: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
等 级:
贵宾
威 望:
23
帖 子:1223
专家分:437
注 册:2007-6-1
第
2
楼
得分: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
等 级:
新手上路
帖 子:12
专家分:0
注 册:2008-9-29
第
3
楼
得分:0
谢谢你的回答
2008-09-29 13:26
LOVELUM
等 级:
新手上路
帖 子:12
专家分:0
注 册:2008-9-29
第
4
楼
得分:0
不过“>>”不是会保留符号位吗?
(byte)0xf1=11110001
0xff=11111111
结果=11110001
>>4=11111111(不是吗?结果的高位不是1吗?因该会复制4个1吗?能不能解释过程)
2008-09-29 18:23
freish
等 级:
贵宾
威 望:
23
帖 子:1223
专家分:437
注 册:2007-6-1
第
5
楼
得分:0
火车就要开了,我得走了,等会的人给你解答
如果结果是那样证明那个十六进制数的最高位不符号位
2008-09-29 18:39
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-235731-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017387 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved