二进制中,0为什么作为偶数,1为什么作为奇数?

  • 偶数

我们知道,能被2整除的就是偶数。

如: 4 ÷ 2 = 2 4 \div 2=2 4÷2=2…余0


  • 奇数

相反地,不能被2整除的就是奇数。

如: 5 ÷ 2 = 2 5 \div 2=2 5÷2=2…余1,(4+1=5

  • 在二进制中,偶数的最低位总是0,而奇数的最低位总是1

二进制的最低位在最右边,如8 = 1000,最右边的0就是8在二进制中的最低位
相反地,最左边的1就是8在二进制中的最高位

如:8 = 23,7 = 4 + 2 + 1 = 22 + 21 + 20
为什么7不能是等于4+3?因为3不能化为以2为底数的运算

  • 在Java判断奇数性的时候可以利用按位与和二进制的奇偶特性去编写代码
public static void main(String[] args) {
        int a, b;
        int count = 0;
        System.out.println("请输入任意两个数,每一个数之间按回车结束");
        Scanner sc = new Scanner(System.in);
        // 从键盘接收数据
        a = sc.nextInt();
        b = sc.nextInt();
        if (a > b ){
            int c = 0;
            c = a;
            a = b;
            b = c;
        }
        System.out.println(a + "和" + b + "之间的所有奇数为:");
        for (int i = a; i <= b; i++) {

            if ((i & 1) != 0) {

                //System.out.println();
                System.out.print("  " + i);
                count++;
            }
            if (count % 5 == 0) {

                System.out.println();
            }
        }
    }

posted @ 2022-10-07 22:22  萧木XIAOMU  阅读(132)  评论(0编辑  收藏  举报