梁不正 2015-09-26 02:29 采纳率: 18.2%
浏览 1590
已结题

leetcode上的一题,Reverse Bits?

题目如下:
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as00111001011110000010100101000000).

我用java做,问题是,这个题目输入的参数是int类型,但在leetcode上的一个测试用例是上2147483648,即2的31次方。超出了int 类型的最大值2的31次方减一,它怎么可以输入这个?
还有就是当输入为1时,应返回2147483648,也是超出了最大值。这应该怎么做?
我看别人写的答案都是用位运算的,为什位运算没有整形溢出这个问题?
请问有其他解法吗?

  • 写回答

1条回答 默认 最新

  • nomasp 博客专家认证 2015-09-27 00:55
    关注

    我才做到第八题。。。

    评论

报告相同问题?

悬赏问题

  • ¥40 微信小程序 使用vant组件ActionSheet 下拉面板,内容区域滚动会触发。scroll-view自定义下拉刷!即使设置停止下拉刷新也不行。
  • ¥15 专业问题提问,7月5号2点之前
  • ¥25 使用cube ai 导入onnx模型时报错
  • ¥15 关于#微信小程序#的问题:用一个网页显示所有关联的微信小程序数据,包括每个小程序的用户访问量
  • ¥15 root的安卓12系统上,如何使apk获得root或者高级别的系统权限?
  • ¥20 关于#matlab#的问题:如果用MATLAB函数delayseq可以对分数延时,但是延时后波形较原波形有幅度上的改变
  • ¥15 使用华为ENSP软件模拟实现该实验拓扑
  • ¥15 通过程序读取主板上报税口的数据
  • ¥15 matlab修改为并行
  • ¥15 尝试访问%1服务的windows注册表时遇到问题。必须先解决此问题,然后才能运行安装过程。(请确认您正在使用管理员权限运行)373