首页 > 其他分享 >位运算

位运算

时间:2023-01-12 19:00:11浏览次数:35  
标签:运算 00000000 31 左移 int num

任给一个int型的整数,要求写一个函数,打印输入它的32位的二进制形式,例如输入1,则打印的结果应该是:

00000000 00000000 00000000 00000001

如何实现这个函数?请看下面的代码:

public class Solution {
    public static void print(int num) {
        for (int i = 31; i >= 0; --i) {
            System.out.print((num&(1<<i)) == 0 ? '0' : '1');
        }
        System.out.println();
    }

    public static void main(String[] args) {
        int num = 5;
        print(num);
    }
}

这段代码就可以实现上述效果。举个例子吧,如果num=5,我们知道5写成32位的形式就是:

00000000 00000000 00000000 00000101

现在,函数里面的for循环是从31开始,依次递减,一直到0的所有这些数,1分别要左移这些数。就是说,1先要左移31位,然后左移30位,...,最后左移1位,左移0位。

比如1左移2位,那么就是:

00000000 00000000 00000000 00000100

我们拿num,此时是5,与这个1左移2位后的数进行与运算,你会发现只有从右边数第3位的数字与完后还是1,其余全是0.

所以这时候就应该输出1,其余位置应该全是0.

标签:运算,00000000,31,左移,int,num
From: https://www.cnblogs.com/EvanTheGreat/p/17047602.html

相关文章

  • LeetCode刷题(44)~缺失数字【位运算:异或 】
    题目描述给定一个包含0,1,2,…,n中n个数的序列,找出0…n中没有出现在序列中的那个数。示例1:输入:[3,0,1]输出:2示例2:输入:[9,6,4,2,3,5,7,0,1]输出:8说......
  • JS_2_运算符
    与Java大抵是类似的。 一、算术运算符+、-、*、/、%。适用于:number类型与number类型。number类型与boolean类型(boolean自动转:true--1,false-0)。n......
  • Java核心基础:三元运算符,附三个案例和源码
     格式三元运算符也叫三目运算符,即由三部分组成,格式如下: (关系表达式)?表达式1:表达式2;执行流程先执行关系表达式,看其结果是true还是false.如果是true,则执行表达式1如......
  • JavaScript:赋值运算符以及运算符优先级
    JavaScript前文回顾: ​​认识JavaScript到初体验​​​​JavaScript注释以及输入输出语句​​​​JavaScript变量的使用、语法扩展、命名规范​​​​JavaScript数据类型......
  • JavaScript:比较运算符和逻辑运算符
    JavaScript前文回顾: ​​认识JavaScript到初体验​​​​JavaScript注释以及输入输出语句​​​​JavaScript变量的使用、语法扩展、命名规范​​​​JavaScript数据类型......
  • javase知识点总结:初认java,数据类型与变量,运算符
    一.初识java1.初识Java的main方法main方法示例publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello,world");......
  • 【参考答案】java基础练习:变量、数据类型、输入、输出、运算符
     练习1:判断输入的值是否是偶数,另外,要处理输入错误(目的:熟悉输入、输出,特别是Scanner对象的方法)packagecom.qzcsbj;importjava.util.Scanner;publicclassTest{......
  • 项目关于乘除运算eval()和保留小数Number.EPSILON
    在js中有一个eval()函数他的作用就是字符串类运算eval是Javascript内置函数,用于计算字符串表达式的值。例如eval("2+3")返回的是5。他使得eval("2*3*4")字符串类的运算可......
  • Python运算符
    假设a=10b=201.算数运算符运算符描述+加-减*乘/除%取余数**幂——次方//取整除 2.比较(关系)运算符运算符描述==等于......
  • C++_运算符重载
    operatoroverloadingCustomizestheC++operatorsforoperandsofuser-definedtypes.std::addressofstd::addressof模板函数定义在<memory>头文件中,用于获取类或......