| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 483 人关注过本帖
标题:[求助]>>>,>>,
只看楼主 加入收藏
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
 问题点数:0 回复次数:7 
[求助]>>>,>>,
public class Ceshi{
public static void main(String args[]){
int a=20; //二进制是10100;
int c=a>>>10; //这一行
System.out.println(Integer.toBinaryString(c));
}
}

我看书对位操作有三种>>>(逻辑右移,无符号右移),>>数学右移,有符号,左移<<
不知对位的操作还有哪些,怎么用,
为什么上面的操作执行a>>>10与a>>10结果都是0,只有a<<10结果才是101000000000000;

先说a>>>10,它是无符号右移,a>>>10表示A的二进制数向右移动10位,即截去右边10位,左边填充10个0;
按我的理解结果是000000000010100,可结果是0;

再说a>>10,它是有符号右移,a>>10表示A的二进制数向右移动10位,即截去右边10位,左边填充符号位(10个1);
按我的理解结果是111111111110100,可结果也是0;
只有最后一个(a<<10左移)跟我自学理解的一样,汗呀,不知原因,望大家给我讲讲这方面的知识.





还有个问题
public class Ceshi{
public static void main(String args[]){
int x=3,y=5,a=~x,b=x&y,c=x|y,d=x^y;
System.out.println(Integer.toBinaryString(x));
System.out.println(Integer.toBinaryString(y));
System.out.println(Integer.toBinaryString(a));
System.out.println(Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(c));
System.out.println(Integer.toBinaryString(d));
}
}
这个程序,跟我推算的结果有一个不同.
它输出的是

D:\>java Ceshi
11
101
11111111111111111111111111111100
1
111
110

我推算的是
11
101
00 //11取反不是00吗,为什么变成上面那个格式了!!!
001
111
110



讲讲呀


[此贴子已经被作者于2006-5-15 21:45:04编辑过]

搜索更多相关主题的帖子: public 二进制 数学 
2006-05-15 19:06
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
以前没注重这些基础操作,大而化之,
不懂就过,
现在都不懂呢

[此贴子已经被作者于2006-5-15 19:07:16编辑过]


我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-05-15 19:07
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 


哇 哇哇

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-05-15 21:50
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
11取反不是00吗,为什么变成上面那个格式了!!!
因为11是一个int型的数据,所以它是32位的,也就是说
11实际上是00000000000000000000000000000011
所以取反后就变成了那个样子了

可惜不是你,陪我到最后
2006-05-16 10:27
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 

THANK YOU,大哥,一语惊醒梦中人呀
还有上面的第一个问题>>>,>>谁来给我讲讲呢?


我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-05-16 11:13
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
都 \是一个道理
反符号向右移多少位而已
两个当然都是0啦,把1都移出去了

可惜不是你,陪我到最后
2006-05-16 12:26
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
谢了呀

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-05-17 12:46
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
终于把为操作弄动了

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-05-18 12:36
快速回复:[求助]>>>,>>,
数据加载中...
 
   



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

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