day21

1.剑指 Offer 15. 二进制中 1 的个数

 与1同位与判断最低位是否是1,判断完右移继续判断下一个

复制代码
 1 class Solution {
 2 public:
 3     int hammingWeight(uint32_t n) {
 4         int cnt = 0;
 5         while(n){
 6           if(n & 1 == 1)  cnt ++;
 7           n >>= 1;
 8         }
 9         return cnt;
10     }
11 };
复制代码

2.剑指 Offer 65. 不用加减乘除做加法

 贴个k神的代码吧,二进制加法运算,计算机组成原理书上有过程

复制代码
 1 class Solution {
 2 public:
 3     int add(int a, int b) {
 4         while(b != 0)
 5         {
 6             int c = (unsigned int)(a & b) << 1;
 7             a ^= b;
 8             b = c;
 9         }
10         return a;
11     }
12 };
复制代码

 

posted @   balabalahhh  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示