免费发布信息
微信公众号
当前位置: 首页 » 帮助中心 » 常见问题 » 数补码 » 正文

数补码

   来源:黔优网责任编辑:优优  时间:2024-09-20 13:13:27 浏览量:0

476。数补码

难度:简单

主题: 位操作

整数的补码是将其二进制表示形式中的所有 0 翻转为 1 以及将所有 1 翻转为 0 时得到的整数。

例如,整数5的二进制是“101”,它的补码是“010”,即整数2。

给定一个整数 num,返回 其补码.

示例1:

输入: num = 5

输出: 2

说明: 5 的二进制表示为 101(无前导零位),其补码为 010。因此需要输出 2。

示例2:

输入: num = 1

输出: 0

说明: 1 的二进制表示为 1(无前导零位),其补码为 0。所以需要输出 0。

限制:

1 31

注意: 本题与 1009 相同。以 10 为底的整数的补码

解决方案:

我们需要翻转给定整数的二进制表示形式的位并返回结果整数。

解决问题的步骤:

将数字转换为其二进制表示形式。

翻转位(即,将 0 更改为 1,将 1 更改为 0)。

将翻转后的二进制字符串转换回整数.

让我们用 php 实现这个解决方案:476。数字补码

<?php // Example usage:
$num = 5;
echo findComplement($num); // Output: 2

$num = 1;
echo findComplement($num); // Output: 0
?>

解释:

decbin($num):将给定的整数转换为其二进制字符串表示形式。

翻转位:我们迭代二进制字符串并通过检查它是 1 还是 0 来翻转每个位。

bindec($flipped):将翻转后的二进制字符串转换回整数。

运行示例:

输入: 5

二进制表示:“101”

翻转二进制:“010”

输出:2

输入: 1

二进制表示:“1”

翻转二进制:“0”

输出:0

此解决方案通过翻转给定数字的二进制表示形式的位来有效计算补码。

联系链接

如果您发现本系列有帮助,请考虑在 github 上给存储库 一颗星,或在您最喜欢的社交网络上分享该帖子?。您的支持对我来说意义重大!

如果您想要更多类似的有用内容,请随时关注我:

领英

github

以上就是数补码的详细内容,更多请关注本网内其它相关文章!

 
 
 
没用 0举报 收藏 0
免责声明:
黔优网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优网官方立场,请读者仅做参考。本文标题:数补码,本文链接:https://www.qianu.com/help/40402.html,欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法信息,请您立即点此【投诉举报】并提供有效线索,也可以通过邮件(邮箱号:kefu@qianu.com)联系我们及时修正或删除。
 
 

 

 
推荐图文
推荐帮助中心
最新帮助中心