首页 > 其他分享 >动手动脑问题

动手动脑问题

时间:2023-09-15 10:24:12浏览次数:30  
标签:右移 结果 int 动脑 补码 System 问题 动手 原码

  1. 原码:最高位是符号位(0表示正数,1表示负数),其余位表示数值的绝对值。

  2. 反码:正数的反码与原码相同,负数的反码是对其原码按位取反(符号位除外)得到的结果。

  3. 补码:正数的补码与原码相同,负数的补码是对其原码按位取反(符号位除外),然后将结果加1。

在Java中,整数默认使用补码表示。

下面是一个示例程序,对正数和负数进行位操作,并输出结果:

public class BitwiseOperations {
    public static void main(String[] args) {
        int a = 5; // 正数
        int b = -3; // 负数

        // 与操作
        int andResult = a & b;
        System.out.println("AND结果:" + andResult);

        // 或操作
        int orResult = a | b;
        System.out.println("OR结果:" + orResult);

        // 异或操作
        int xorResult = a ^ b;
        System.out.println("XOR结果:" + xorResult);

        // 左移操作
        int leftShiftResult = a << 2;
        System.out.println("左移结果:" + leftShiftResult);

        // 右移操作
        int rightShiftResult = b >> 1;
        System.out.println("右移结果:" + rightShiftResult);

        // 无符号右移操作
        int unsignedRightShiftResult = b >>> 1;
        System.out.println("无符号右移结果:" + unsignedRightShiftResult);
    }
}

输出结果:

AND结果:1
OR结果:-3
XOR结果:-4
左移结果:20
右移结果:-2
无符号右移结果:2147483646
Java中的数是采用补码表示的。

标签:右移,结果,int,动脑,补码,System,问题,动手,原码
From: https://www.cnblogs.com/2022-yang/p/17704243.html

相关文章

  • 双边快排的基准点和先判断left还是right问题
     前同事问了我一个双边快排的算法,他问我怎么都无法正常排序,代码如下,publicstaticvoidmain(String[]args){int[]arr=newint[]{7,3,6,4,8,9,0,22,28,2,3,79,24};arr=newint[]{4,4,6,5,3,2,8,1};System.out.println("left:"+0+"right:"......
  • 每日一题:吃透大文件上传问题(附可运行的前后端源码)
    https://www.cnblogs.com/never404/p/17699440.html 在日常开发中,文件上传是常见的操作之一。文件上传技术使得用户可以方便地将本地文件上传到Web服务器上,这在许多场景下都是必需的,比如网盘上传、头像上传等。但是当我们需要上传比较大的文件的时候,容易碰到以下问题:上传时......
  • 订单请求接口设计,避免timeout超时问题 下单解决
    订单请求接口设计,避免timeout超时问题下单解决接上篇:外部系统对接下单幂等性校验逻辑及接口超时处理https://www.cnblogs.com/oktokeep/p/17668039.html1.第一步中间表数据&取消接口两件事情分开,不要因为中间表缺失数据,而影响到取消的操作。2.第二步中间表数据兼容,不存在......
  • java的jdbc插入的时候,遇到null情况报错问题
    分析原因:在执行SQL时MyBatis会自动通过对象中的属性给SQL中参数赋值,它会自动将Java类型转换成数据库的类型。而一旦传入的是null它就无法准确判断这个类型应该是什么,就有可能将类型转换错误,从而报错。解决办法:参数增加jdbcType标识数据类型。(注意:这时候参数{}前统一用#)<inser......
  • Vue--this的指代问题及用法
    Vue--this的指代问题及用法this在普通函数(function(){})里,指代调用该函数(方法)的对象this在箭头函数(()=>{})里,指代定义该箭头函数的外层对象在axios调用当前vue实例的data:axios回调函数(.then())是在执行栈中被执行,其中this指向window,若要在axios中取后端数据并......
  • 914打卡_课上问题验证
    JAVA的基本运行单位是方法。程序的执行始终从main方法开始,每个独立的功能都可以通过方法来实现。类由以下组成:字段(成员变量):用于存储对象的数据。方法(成员函数):用于定义对象的行为。构造方法:用于初始化对象。初始化块:用于执行类的初始化操作。内部类:定义在其他类内部的类。变......
  • 课后动手实践
    EnumTest.java代码运行及其源码:packagePaperManagement;  publicclassEnumTest{ publicstaticvoidmain(String[]args){Sizes=Size.SMALL;Sizet=Size.LARGE;//s和t引用同一个对象?System.out.println(s==t);////是原始数据类型吗?Syst......
  • 课程动手动脑练习
    publicclassMain{privateenumMyEnum{ONE,TWO,THREE}publicstaticvoidmain(String[]args){for(MyEnumvalue:MyEnum.values()){System.out.println(value);}}}运行结果为,ONETWOTHREE结构:enum名称{数据......
  • app测试日常踩坑——新老版本共用缓存问题
    需求:在测一个页面,老版本就存在的一个页面(多个模块,一个接口分成三次请求返回),但是新版本要新增一个模块。老的页面的实现方式是页面直接读取redis数据(还有其他逻辑,方便解释暂时这样说),截取模块的方式来分接口返回,新增的一个模块是要放在中间。方案:方案是沿用老的redis缓存,在老得缓存......
  • 本机hadoop version命令报错--JAVA_HOME is not set问题的解决
    问题描述输入hadoopversion命令显示JAVA_HOME没有配置,但是本机的jdk配置正常!问题解决编辑hadoop/etc/hadoop目录下的hadoop-env.cmd文件:将JAVA_HOME的值换成本机的绝对路径;保存退出,再次尝试:......