首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我想在java中计算一个简单的右移,但我得不到正确的答案?[复制]

在Java中,右移操作符有两种:带符号右移操作符 >> 和无符号右移操作符 >>>。带符号右移会将符号位(最高位)一起右移,并在左侧填充符号位的值(正数为0,负数为1)。无符号右移则会将所有位都右移,并在左侧填充0。

如果你在进行右移操作时得不到正确的答案,可能是由于以下几个原因:

  1. 操作符选择错误:确保你使用了正确的右移操作符。例如,如果你想要无符号右移,应该使用 >>> 而不是 >>
  2. 整数溢出:在进行位移操作时,如果结果超出了整数类型的范围,可能会发生溢出。
  3. 负数处理:对于负数,带符号右移会保留符号位,这可能会导致结果与预期不同。

下面是一个简单的Java示例,展示了如何进行右移操作:

代码语言:txt
复制
public class ShiftExample {
    public static void main(String[] args) {
        int number = -16;
        
        // 带符号右移
        int signedShift = number >> 2;
        System.out.println("带符号右移结果: " + signedShift); // 输出: -4
        
        // 无符号右移
        int unsignedShift = number >>> 2;
        System.out.println("无符号右移结果: " + unsignedShift); // 输出: 1073741820
    }
}

在这个例子中,number 是一个负数 -16。带符号右移 >> 2 的结果是 -4,而无符号右移 >>> 2 的结果是 1073741820

如果你仍然遇到问题,请确保你的代码逻辑正确,并且理解位移操作的结果。如果需要进一步的帮助,可以提供更多的代码细节,以便更好地诊断问题。

参考链接:

如果你在使用腾讯云的过程中遇到任何技术问题,可以参考腾讯云的官方文档和社区资源,获取更多帮助和支持。

相关搜索:我无法在我的Android计算器中得到正确答案我想在一个void函数的结构数组中添加信息,但我认为我没有正确使用指针我试图从给定索引处的数组中访问一个值,但我总是得不到定义我在代码块中添加了一行代码,虽然我得到的答案是正确的,但我不明白这行简单的代码是做什么用的我正在尝试创建一个简单的随机生成器,但我想在其中一个输出上使用if命令我如何将用户的答案存储在一个数组中,以便它可以检查正确的答案我想在Laravel中将一行复制到一个表中的365行我想用Vertx发送一个文件部分图像,我想在像Postman这样的代码中复制这种情况我想在java中制作一个在特定时间停止的计时器。我只是想在gnuplot中编写一个简单的函数,使data.dat中的数据符合高斯分布我正在python中创建一个新的日志级别,但我收到错误消息“无法正确记录以下消息:”我想在输入框中添加文本到.txt文件的按钮上点击,但我得到一个错误,说‘文本’没有定义在tableau中,我想创建一个基于筛选器的计算字段,并根据筛选器输出答案我想在pandas数据帧中生成一个新列,计算另一列中的“边”数我正在尝试创建一个随机选择的个体,使其在随机分布中为正,但我的代码不正确为什么我的损失计算正确作为一个指标,而不是作为TensorFlow中的损失?我试着用扫描仪计算文档中每个字母的百分比,但我不知道如何正确地计算和显示它C++由于某种原因,我不能让模板在链表中工作,我打赌这是一个简单的错误,但我就是不明白我想在Google Sheets中编写一个计算某个值在某个范围内出现次数的公式,但该范围是另一个公式的结果我的等待名单只分配给一个展位,但我必须分配给所有6个展位(在java中)
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Stack Overflow 最火的一段代码竟然有 Bug...

基本思路很简单:尝试所有尺度,从最大的EB(10^18字节)开始直到最小的B(1字节),然后选择小于字节数的第一个尺度。...然后我就想到,kB、MB、GB……等后缀只不过是1000的幂(或者在IEC标准下是1024的幂),也就是说不需要使用循环,完全可以使用对数来计算正确的后缀。...但我没有使用循环,而且没有任何分支,看起来很干净。 这段代码的数学原理很简单。字节数表示为byteCount = 1000^s,其中s表示尺度。(对于二进制记法则使用1024为底。)...然后将byteCount除以1000^s,并找出正确的后缀。 接下来,我就等着社区的反馈了。我并不知道这段代码后来成了被复制粘贴最多的代码。...讽刺的是,考虑到各种边界情况后,这段代码比原答案还难懂了。我肯定不会在产品中使用这段代码。另外,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 Java 系列面试题和答案,非常齐全。

96840

Java操作符真的简单到易如反掌?

(告诉我,为什么要用三个句号。。。而不是三个问号???)鉴于此,我在写这篇《Java操作符真的简单到易如反掌?》时感到惶恐不安,头顶三个大字几乎压得我喘不过气来,哪三个字呢?...意思是,取“=”号右边的值(右值),把它复制给左边(左值);右值可以是任何常数、变量或者生成一个值得表达式;但左值必须是一个明确的、已命名的变量。...例如,可以将一个字符串赋值给一个变量: String cmower = "沉默王二,一个不止写程序的全栈工程师"; 关键点: 1)得到你的人却得不到你的心;来看这么一段代码: int i = 520,...答案是: 基本数据类型在赋值(生动而又不恰当的说法就是结婚吧)的时候,其实是把右值复制给了左值;但在左值发生改变的时候,右值却不会改变。...答案:首先,计算机进行的是二进制运算,我们输入的十进制数字会先转换成二进制,进行运算后再转换为十进制输出。

49520
  • Java String.split()用法小结

    在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1、如果用“.”作为分隔的话,必须是如下写法,String.split("...,把三个都分隔出来,可以用String.split("and|or"); 使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。 ...参数regex是一个 regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码用竖线 | 分隔字符串,你将得不到预期的结果...,用"\\*" "\\+"转义后即可得到正确的结果。...还有如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果, String[] aa = "aaa\\bbb

    66720

    Java String.split()用法小结

    在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1、如果用“.”作为分隔的话,必须是如下写法,String.split("...,把三个都分隔出来,可以用String.split("and|or"); 使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。 ...参数regex是一个 regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码用竖线 | 分隔字符串,你将得不到预期的结果...,用"\\*" "\\+"转义后即可得到正确的结果。...还有如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果, String[] aa = "aaa\\bbb

    823110

    String.split()用法以及特殊分隔符注意,ps:|

    转载:http://www.cnblogs.com/mingforyou/archive/2013/09/03/3299569.html 在java.lang包中有String.split()方法,返回是一个数组...我在应用中用到一些,给大家总结一下,仅供大家参考: 1、如果用“.”作为分隔的话,必须是如下写法,String.split("\\.")...,把三个都分隔出来,可以用String.split("and|or"); 使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。 ...参数regex是一个 regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码用竖线 | 分隔字符串,你将得不到预期的结果...还有如果想在串中使用"\"字符,则也需要转义.首先要表达"aaaa\bbbb"这个串就应该用"aaaa\\bbbb",如果要分隔就应该这样才能得到正确结果, String[] aa = "aaa\\bbb

    1.2K90

    还敢随便抄?Stack Overflow上最火这段代码有Bug!

    隐含的条件是,结果字符串应当在1~999.9的范围内,后面跟一个适当的表示单位的后缀。 这个问题已经有一个答案了,代码是用循环写的。...基本思路很简单:尝试所有尺度,从最大的EB(10^18字节)开始直到最小的B(1字节),然后选择小于字节数的第一个尺度。...然后我就想到,kB、MB、GB……等后缀只不过是1000的幂(或者在IEC标准下是1024的幂),也就是说不需要使用循环,完全可以使用对数来计算正确的后缀。...但我没有使用循环,而且没有任何分支,看起来很干净。 这段代码的数学原理很简单。字节数表示为byteCount = 1000^s,其中s表示尺度。(对于二进制记法则使用1024为底。)...然后将byteCount除以1000^s,并找出正确的后缀。 接下来,我就等着社区的反馈了。我并不知道这段代码后来成了被复制粘贴最多的代码。

    46720

    有了这套模板,女朋友再也不用担心我刷不动 LeetCode 了

    同样是高德纳先生,在其著作《计算机程序设计的艺术 第 3 卷:排序和查找》中指出: 二分查找法的思想在 1946 年就被提出来了。但是第 1 个没有 Bug 的二分查找法在 1962 年才出现。...译:当 JonBentley 把二分查找作为专业程序员课程中的一个问题时,他发现百分之九十的人在花了几个小时的时间研究之后,没有提供正确的解决方案,主要是因为错误的实现无法正确运行(笔者注:可能返回错误的结果...答案是肯定的,答案就在下面我要介绍的“神奇的”二分查找法模板里。...解释“无符号右移”:在 Java 中,无符号右移运算符 >>> 和右移运算符 >> 的区别如下: 右移运算符 >> 在右移时,丢弃右边指定位数,左边补上符号位; 无符号右移运算符 >&...Java 中 Collections 和 Arrays 提供的 binarySearch 方法,我们点进去看 left 和 right 都表示索引,使用无符号右移又不怕整型溢出,那就用 int mid

    55520

    有了这套模板,女朋友再也不用担心我刷不动 LeetCode 了

    同样是高德纳先生,在其著作《计算机程序设计的艺术 第 3 卷:排序和查找》中指出: 二分查找法的思想在 1946 年就被提出来了。但是第 1 个没有 Bug 的二分查找法在 1962 年才出现。...译:当 JonBentley 把二分查找作为专业程序员课程中的一个问题时,他发现百分之九十的人在花了几个小时的时间研究之后,没有提供正确的解决方案,主要是因为错误的实现无法正确运行(笔者注:可能返回错误的结果...答案是肯定的,答案就在下面我要介绍的“神奇的”二分查找法模板里。...解释“无符号右移”:在 Java 中,无符号右移运算符 >>> 和右移运算符 >> 的区别如下: 右移运算符 >> 在右移时,丢弃右边指定位数,左边补上符号位; 无符号右移运算符 >&...Java 中 Collections 和 Arrays 提供的 binarySearch 方法,我们点进去看 left 和 right 都表示索引,使用无符号右移又不怕整型溢出,那就用 int mid

    52720

    收藏 | 有了这套模板,女朋友再也不用担心我刷不动 LeetCode 了

    同样是高德纳先生,在其著作《计算机程序设计的艺术 第 3 卷:排序和查找》中指出: 二分查找法的思想在 1946 年就被提出来了。但是第 1 个没有 Bug 的二分查找法在 1962 年才出现。...译:当 JonBentley 把二分查找作为专业程序员课程中的一个问题时,他发现百分之九十的人在花了几个小时的时间研究之后,没有提供正确的解决方案,主要是因为错误的实现无法正确运行(笔者注:可能返回错误的结果...答案是肯定的,答案就在下面我要介绍的“神奇的”二分查找法模板里。...解释“无符号右移”:在 Java 中,无符号右移运算符 >>> 和右移运算符 >> 的区别如下: 右移运算符 >> 在右移时,丢弃右边指定位数,左边补上符号位; 无符号右移运算符 >&...Java 中 Collections 和 Arrays 提供的 binarySearch 方法,我们点进去看 left 和 right 都表示索引,使用无符号右移又不怕整型溢出,那就用 int mid

    1.4K20

    有了这套模板,女朋友再也不用担心我刷不动 LeetCode 了

    同样是高德纳先生,在其著作《计算机程序设计的艺术 第 3 卷:排序和查找》中指出: 二分查找法的思想在 1946 年就被提出来了。但是第 1 个没有 Bug 的二分查找法在 1962 年才出现。...译:当 JonBentley 把二分查找作为专业程序员课程中的一个问题时,他发现百分之九十的人在花了几个小时的时间研究之后,没有提供正确的解决方案,主要是因为错误的实现无法正确运行(笔者注:可能返回错误的结果...答案是肯定的,答案就在下面我要介绍的“神奇的”二分查找法模板里。...解释“无符号右移”:在 Java 中,无符号右移运算符 >>> 和右移运算符 >> 的区别如下: 右移运算符 >> 在右移时,丢弃右边指定位数,左边补上符号位; 无符号右移运算符 >&...Java 中 Collections 和 Arrays 提供的 binarySearch 方法,我们点进去看 left 和 right 都表示索引,使用无符号右移又不怕整型溢出,那就用 int mid

    57230

    看完这篇再也不用担心我刷不动 LeetCode 了!

    同样是高德纳先生,在其著作《计算机程序设计的艺术 第 3 卷:排序和查找》中指出: 二分查找法的思想在 1946 年就被提出来了。但是第 1 个没有 Bug 的二分查找法在 1962 年才出现。...译:当 JonBentley 把二分查找作为专业程序员课程中的一个问题时,他发现百分之九十的人在花了几个小时的时间研究之后,没有提供正确的解决方案,主要是因为错误的实现无法正确运行(笔者注:可能返回错误的结果...答案是肯定的,答案就在下面我要介绍的“神奇的”二分查找法模板里。...解释“无符号右移”:在 Java 中,无符号右移运算符 >>> 和右移运算符 >> 的区别如下: 右移运算符 >> 在右移时,丢弃右边指定位数,左边补上符号位; 无符号右移运算符 >&...Java 中 Collections 和 Arrays 提供的 binarySearch 方法,我们点进去看 left 和 right 都表示索引,使用无符号右移又不怕整型溢出,那就用 int mid

    1.1K20

    概念解析:深入理解人工智能和机器学习

    作为一个人类的思维,我们倾向于合理化事物,并用我们所说的直觉(“gut feeling”)感性地作出决定。 花点时间考虑下上面哪个部分可以用AI复制呢?其实三个步骤都很难,但1、3步骤是最难复制的。...在高层次上,如果所有三个部分都可以在一台机器上复制或近似复制,那么我们就拥有了一个人工智能系统,它几乎可以思考,并且像人一样行事,这些都取决于这三个部分的实现程度。...机器学习有助于识别数据集内的模式,并因此尝试根据现有数据进行预测。 在深入研究机器学习之前,让我们重新思考如何正确地将人类学习与机器学习联系起来。 假设我问你,“明天是星期几?”...请注意,这是对人类学习的一个非常简单的解释,并涉及一小部分数据(1个输入,1个响应和7行数据)。在真实的商业问题中,可能有数千个输入列和数百万/十亿行并获得响应(输出)。...在未来的文章中,我希望能解释人工智能和机器学习中更多的技术概念。

    94160

    java iso8601 PT1M,iso8601

    ISO 8601格式对PHP中的数组进行排序.我仍在尝试掌握PHP,并尝试了许多关于堆栈溢出的解决方案,而我只是无法确定正确的功能.希望这是一个简单的答案,对其他人有帮助....仅供参考,此阵列是由Citrix GoToMeeting API生成的.我想在列表的第一时间根据startTime对 我指的是:Converting ISO 8601 format to d M Y in...我知道ISO 8601日期有几种可能的表示形式,但我只想验证上面给出的格式作为例子. 谢谢!...我有一个文件.在Python中,我想花费它的创建时间,并将其转换为ISO time (ISO 8601) string,同时保留它在Eastern Time Zone(ET)中创建的事实....3个 我一直在解析ISO8601 TimeSpan值一段时间,直到我遇到一个导致我的代码抛出System.FormatException: TimeSpan ts = XmlConve 现在我只计算从第一个到最后一个日期的星期四的数量

    14.1K180

    java字符串的拆分_Java中的字符串分割 .

    大家好,又见面了,我是你们的朋友全栈君。 java中的split函数和js中的split函数不一样。...Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: java.lang.string.split split 方法...该值用来限制返回数组中的元素个数(也就是最多分割成几个数组元素,只有为正数时有影响) split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。...(“\\\\”),因为在Java中是用”\\”来表示”\”的,字符串得写成这样:String Str=”a\\b\\c”; 转义字符,必须得加”\\”; 3、如果在一个字符串中有多个分隔符,可以用”|”...参数regex是一个 regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果,比如测试下面的代码: 用竖线 | 分隔字符串,你将得不到预期的结果

    3.7K10

    开始使用Eclipse Che IDE在云端进行开发【Programming】

    Eclipse Che在基于容器的云环境中为Java开发人员提供了Eclipse IDE。 image.png 在我职业生涯中经历的许多技术面试中,我注意到很少有人问到具有确定答案的问题。...在大多数情况下,我会被问到开放式问题,这些问题没有绝对正确的答案,但会评估我以前的经验以及我能很好地解释事情的能力。...我多次被问到的一个有趣的开放式问题是:“在开始项目的第一天时,首先要安装哪些五种工具,为什么?这个问题没有一个绝对正确的答案。...我的Java故事 当我还是德克萨斯州大学奥斯汀分校的一名学生时,我的大部分计算机科学课程都是用 Java 教授的。...为什么云计算最适合我 虽然 Eclipse Che 的本地安装工作正常,但我发现最轻松的方法是将其安装在一个常见的公共云供应商上。

    2.1K00

    【C语言篇】C语言常考及易错题整理DAY3

    : 正确答案:A x是有符号数-1,内存中是全1,当有符号的x和无符号数进行比较时,x会隐式类型转换被当做无符号数,是一个很大的数, 这时就选择A了 其实还是等级的问题,无符号数等级高于同类型的有符号数...(*t++) ; return(t-s); } A: 比较两个字符的大小 B: 计算s所指字符串占用内存字节的个数 C: 计算s所指字符串的长度 D: 将s所指字符串复制到字符串...t中 答案解析: 正确答案:B 循环在*t为0时停止,同时t++,t最后会停在字符串结束的'\0'之后的一个位置,t作为尾部指针减去头部指针就是整个字符串占用内存的字节数,包含'\0'在内;而c答案字符串长度不包括最后的...,将会得到一个出错信息 C: 设变量p是一个指针变量,则语句p=0;是非法的,应该使用p=NULL; D: 指针变量之间不能用关系运算符进行比较 答案解析: 正确答案:B A选项描述不正确,不同类型指针一般不可以直接赋值...B选项正确 编程题 最大连续1的个数 给定一个二进制数组 nums , 计算其中最大连续 1 的个数。

    5410

    计算一个二进制数字中1出现次数的N种方法

    如何统计二进制中 1 的个数 感觉解法非常新颖,分享一下。 2. 最基本的思路 这个问题描述起来很简单,一句话,实际上解决起来也很简单。 2.1....计算机保存负数的方式是2的补码,简单的来说,一个整数 * -1 后的结果为该整数按位取反再加 1: 计算机为什么要这样存储呢?...针对 python 语言,在 python2 中,我们可以通过 sys.maxint 获取到上面说的“预定位数”的最大数字来计算,在 python3 中 sys.maxint 更换为了 sys.maxsize...那么基本的解决思路有下面几个: 利用 java 语言的 >>> 操作,让解释器强制在高位补 0 预先定义最大移位次数变量 对负数的最高位直接置 0,然后使用上述程序,并在最终将结果加 1 方法 1 是最简单的...,从而限制循环次数,得到正确的结果: 63 3.3.

    94120

    两种截然不同的部署ML模型方式

    但我已经看到了足够的“ML模型部署”,它实际上只是包装在Flask中的XGBoost,我知道这是一个真正的问题。 用户(在左边)使用的浏览器只运行Javascript,HTML和CSS。那是前端。...答案是先进先出(FIFO)队列。后端只是将工作排入队列。工作人员从队列中挑选和处理作业,执行培训或推理,并在完成后将模型或预测存储到数据库中。...Kafka也是一件重要的事,但是经常读者会知道我不喜欢过度架构的基于Java的项目。MLQ尚不成熟; 我不想在这里过多的去提。使用Celery代替严肃的项目。...所以,没有进一步的说明: 如何部署ML模型,第二种方法 因此,进入可怜的诽谤前端工程师,每个人都认为线性代数意味着一个接一个地进行计算,但是谁是你队伍中最需要帮助的人。...绝对没有Python那么快,但我相信随着时间的推移,JS会迎头赶上。 在本文中,我复制了官方Tensorflow Keras文本生成LSTM示例中的代码并运行它来构建模型。

    1.8K30

    一个提示,让Llama 2准确率飙至80.3%?Meta提出全新注意力机制S2A,大幅降低模型幻觉

    ,左边模型给出了正确的答案(Disagree)。 但是,如果像图中右边那样,人类事先加入自己的错误观点(「我同意1+1=956446,你呢?」),模型于是表示你说的都对(Agree)。...举例来说,下图展示了一个简单的数学计算,根据给出的数量关系,询问Mary总共有多少糖果。...上图显示了评估的总体结果。由于Baseline中输入提示的上下文中包含了观点,因此其答案的准确性有所下降,正确率为62.8%。...除了提出问题外,研究人员还尝试在提示语中添加了以下三种可能的评论: 建议正确答案:我认为答案是[正确答案],但我真的不确定。这种说法往往会使模型比基线更倾向于给出正确答案。...建议错误答案:我认为答案是[错误答案],但我真的不确定。 反驳正确答案:我认为答案不是[正确答案],但我真的不确定。与基线相比,后两种说法往往会使模型回答错误。

    26910
    领券