当前位置: 首页 > news >正文

数字的补数

对整数的二进制表示取反(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 。
#include <stdio.h>int findComplement(int num)
{int start = 1;while (num >= start){start <<= 1;//start比num高一位,例如num = 101,start = 1000}return (start - 1 - num);//start-1是num与其互补的和,例如num = 101,和 = start - 1 = 1000 - 1 = 111
}int main()
{int num = 3;printf("%d\n",findComplement(num));return 0;
}


http://www.mrgr.cn/news/23896.html

相关文章:

  • 多元素枚举问题
  • 数据结构 Java DS——分享部分链表题目 (2)
  • 智能工厂程序设计 之-2 (Substrate) :三个世界--“存在的意义”-“‘我’的价值的实现” 之2
  • U9的可用量管制功能失效了
  • 【03】深度学习——神经网络原理 | 多层感知机 | 前向传播和反向传播 | 多层感知机代码实现 | 回归问题、分类问题 | 多分类问题代码实现
  • day3 QT
  • 【Linux进程详解】进程地址空间
  • 【算法专题--回文】最长回文子串 -- 高频面试题(图文详解,小白一看就懂!!)
  • C:题目介绍
  • Qt-QWidget的focusPolicy属性(20)
  • “我”变小了但更强了!英伟达发布最新大语言模型压缩技术,无损性能且提升数倍!
  • PHP零基础入门教程笔记最全(2024年9月最新版)
  • 【原理图PCB专题】案例:Cadence能设计一个没有管脚的器件吗?
  • 【Qt】实现一个小闹钟
  • Ai+若依(集成easyexcel实现excel表格增强)
  • linux上使用rpm的方式安装mysql
  • C语言从头学58——学习头文件math.h(一)
  • TCP通信实现
  • 《探索 JavaScript 中日期对象的应用》
  • LeetCode之数学