java中试用位运算符实现2^6;
------解决方案--------------------
2<<5
------解决方案--------------------
1<<6
------解决方案--------------------
2^6中的^是按位异或符,它的结果是:4
计算方式是,首先计算出2和6的补码,分别为:
2的补码:0010
6的补码:0110
按位异或的计算规则是,两个数的码进行比较,有1个为0,1个为1,结果为1,否则为0,即运算后的补码为:0100,因为符号位是正数,即原码(二进制)=反码=补码,原码即是10进制的二进制数,所以将二进制(0100)转换成10进制就得出了结果4.
用移位运算符算出2^6的相同结果的话,比较简单的就是2<<1,也就是将2和1转换成补码,再进行移位运算,得出的结果也是4。
详细的二进制和其它进制的关系和运算,楼主可以参考一下这个文档:http://wenku.baidu.com/view/4e1f031810a6f524ccbf85f0.html
------解决方案--------------------
1、java中试用位运算符实现2^6
楼主是想表达什么意思?要是求幂的话,2楼正解;要是求按位异或的话,4楼正解
2、学生从键盘输入一个100之内的考试分数,这个用输入函数怎么实现的?
主要是要判断分数的格式和范围要正确
- Java code
public class TestPrint{ public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入考试分数:"); String s = input.next(); try { float score = Float.parseFloat(s); if (score < 0 || score > 100) { System.out.print("范围有误,请重新输入:"); } else { System.out.println("你输入的分数是:" + score); } } catch (NumberFormatException e) { System.out.println("格式有误,请重新输入"); } }}
------解决方案--------------------