日期:2014-05-20  浏览次数:20773 次

一简单问题
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("格式有误,请重新输入");
        }
    }
}

------解决方案--------------------
探讨

1、java中试用位运算符实现2^6
楼主是想表达什么意思?要是求幂的话,2楼正解;要是求按位异或的话,4楼正解

2、学生从键盘输入一个100之内的考试分数,这个用输入函数怎么实现的?
主要是要判断分数的格式和范围要正确
Java code

public class TestPrint
{
public static void main(String[] args)
……