A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

“<<”运算时,针对double类型和float类型 是如何运算的??请大神解答下面的式子,或求指出存在的问题,这个问题一直没搞懂。。。
class  Q
{
        public static void main(String[] args)
        {
                double a=126.7f;
                double b=a<<2.0;
                System.out.println(b);
        }
}

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

13 个回复

倒序浏览
坐等大牛解答!
回复 使用道具 举报
Java的位运算(bitwise operators)直接对整数类型的位进行操作,这些整数类型包括long、int、short、char和 byte

详情看这 http://blog.csdn.net/mw08091020/article/details/8010300

感谢万能的度娘{:3_67:}

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 cz萑 于 2014-12-12 21:54 编辑

源代码是编译是失败的,报的错是二次元运算符<<的操作数类型错误,我把a强制转换成int型的时候编译成功了,感觉<<只能对int型的进行操作

OYZ()}CK0KD_]UX0HUIQH0I.jpg (29.35 KB, 下载次数: 6)

OYZ()}CK0KD_]UX0HUIQH0I.jpg
回复 使用道具 举报
什么叫二元运算符操作数错误
回复 使用道具 举报
二元运算符“<<”的操作数类型错误
回复 使用道具 举报
武xiao 中级黑马 2014-12-12 22:13:28
7#
java 的位运算只能操作整型类,直接传入浮点数的话会先转成整数
回复 使用道具 举报
武xiao 发表于 2014-12-12 22:13
java 的位运算只能操作整型类,直接传入浮点数的话会先转成整数

没听说过大范围的会自动类型提升为小类型的
回复 使用道具 举报
<<位移是整形的运算方式,跟浮点就没什么关系
回复 使用道具 举报 1 0
Charay 发表于 2014-12-12 21:56
什么叫二元运算符操作数错误

意思就是浮点根本不能这么运算,就像两个String不能直接判断<,>(大于,小于)一样。
“abc”>“cba”,也会报错。
也跟map要直接用iterator遍历一样,根本没有这个方法嘛
回复 使用道具 举报
这个结果为506.8吗?如果不是求详解。。。
回复 使用道具 举报
位运算符只针对整数啊
回复 使用道具 举报
lby369 中级黑马 2014-12-13 22:55:32
13#
Imp_x 发表于 2014-12-12 21:50
Java的位运算(bitwise operators)直接对整数类型的位进行操作,这些整数类型包括long、int、short、char ...

这个问题困扰了2节课,,问题结果出在概念上了
回复 使用道具 举报
abathe 中级黑马 2014-12-14 20:56:39
14#
看来得巩固基础了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马