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

位运算与进制转化

位运算与进制转换

0. 引言

写这篇博客时,是2026.2.14虽然是2026年的情人节,但是这丝毫不影响我敲代码。正如我博客标题中写的,未曾起舞的日子,是刻骨铭心的练习。其实还有一句话我想送给大家,你若花开,蝶自来。没找到对象,我们就去多去提升自己,开始学护肤,开始锻炼,开始学习技能,开始思考代码。我相信众里寻他千百度,蓦然回首,那人却在灯火阑珊处。比起找对象,先让自己变得让自己喜欢,这样别人才会来喜欢你。

1. 位运算

1.1 基本概念

1.1.1 位运算符

首先我们学习位运算的基本概念

位运算符 含义 语法 效果
<< 左移 a << x a左移x位
>> 右移 a >> x a右移x位
& 位与 a & b 11得1,其他均为0
| 位或 a | b 00得0,其他均为1
^ 位异或 a ^ b 相同为0,不同为1
~ 位取反 ~a 0变1,1变0

1.1.2 位运算与二进制

\(n\) 转为二进制的第 \(k\)

n >> k & 1

\(n\) 输出为二进制

for(int k = 32; k >= 0; k--) cout << (n >> k & 1);

1.2 lowbit()的使用

返回 \(x\) 的最后一位 \(1\)

lowbit(int x){return x & -x;
}

1.2.1 lowbit()详解:

\(-x= \sim x +1\)

例如

\(x=10100101010000\)

\(\sim x= 01011010101111\)

\(\sim x + 1= 0101101 0110000\)

\(x \&-x=00000000010000\)

1.2.2 例题

求一个数转换为二进制后 \(1\) 的个数

#include<bits/stdc++.h>
using namespace std;int lowbit(int x){return x & -x;
}int main(){int n;cin >> n;int ans = 0;while(n){n -= lowbit(n);ans++;}cout << ans << endl;return 0;
}

2. 进制转化(进制 \(\le 10\) )

一般来说进制转化遵循一下的思路

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.1 \(P\) 进制转 \(10\) 进制

对于任意一个 \(a_{n}a_{n-1} \dots a_3a_{2}a_1\)\(P\) 进制的数我们可以通过如下公式转化为 \(10\) 进制的数 \(y\)

\[y=a_0*P^0+a_1*P^1+a_2*P^2+a_3*P^3+\dots +a_{n-1}*P^{n-1} + a_n*P^n \]

代码实现

#include<bits/stdc++.h>
using namespace std;
int main(){int x;cin >> x >> p;int y = 0, product = 1;while(x){y += (x % 10) * product;x = x / 10;produce *= p; }cout << y <<endl;return 0;
}

2.2 \(10\) 进制转 \(Q\) 进制

\(10\) 进制转化为 \(Q\) 进制中,我们常常用到短除法例如 \(15\)\(2\) 进制中

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最终 \(15=(1111)_2\)

#include<bits/stdc++.h>
using namespace std;const int N = 1e5 + 10;
int z[N];int main(){int n, q;cin >> n >> q;int num = 0;do{z[num++] = n % q;n = n / 10;}while(n)for(int i = num - 1; i >= 0; i--){cout << z[i];}return 0;
}
http://www.jsqmd.com/news/382368/

相关文章:

  • 【Azure App Service】为何应用服务的Health Check功能返回403导致实例状态Unhealthy?
  • 实用指南:HarmonyOS智慧农业管理应用开发教程--高高种地---第1篇:项目初始化与环境搭建
  • 2026年质量好的碳纤维管抛光设备/碳纤维管烘干设备厂家信誉综合参考 - 行业平台推荐
  • 2026胰岛素泵优质品牌专业推荐指南 - 资讯焦点
  • 一篇文章告诉你为什么转行大模型行业?大模型风口已至!小白程序员也能抓住高薪AI赛道,收藏这份进阶指南
  • 一款开源免费、轻量高效、极具手感的在线白板工具
  • 2026年靠谱的苏州非标视觉检测设备/苏州冲压视觉检测设备值得信赖厂家推荐(精选) - 行业平台推荐
  • 2026年评价高的钛材反应釜/威海高压反应釜高评分品牌推荐(畅销) - 行业平台推荐
  • 复分析笔记(2):欧拉公式的理解
  • 2026年知名的响水美标紧定套/合金钢紧定套厂家口碑推荐汇总 - 行业平台推荐
  • 前端工程化与webpack
  • Nodejs+vue+ElementUI货物代运物流系统
  • Treap 的复杂度证明
  • 基于SpringBoot+Vue的Web农产品直卖平台管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • SpringBoot+Vue Web农产品直卖平台平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • eigen vectors and traffic equations.
  • 小模型足以应对复杂任务?策略拍卖框架SALE带你探索AI的潜力,快来收藏学习!
  • 大模型本地部署指南:小白程序员必备技能,收藏学习!
  • 小白程序员必看:用收藏级TRPO大模型提升技能,附代码实战
  • 小白程序员必看:手把手教你部署本地大模型Ollama,开启AI工程化之路(收藏版)
  • 2026年质量好的天津地源热泵采暖/地源热泵主机供应商采购指南选哪家 - 行业平台推荐
  • 【转行大模型】AI时代职业转型指南:收藏这份超全学习资料,抓住AI时代机遇!
  • 新手转行大模型指南:大模型新手入门指南,收藏这份转行必看资料,助你轻松入行!
  • mamba-ssm的安装报错解决
  • 2026年靠谱的纺织煤染剂用四水八硼酸钠/肥料用四水八硼酸钠全方位厂家推荐参考 - 行业平台推荐
  • 【JWT】整合 SpringBoot 实现认证和鉴权
  • 2026年2月大庆装修施工设计公司推荐,规范施工品质家装 - 品牌鉴赏师
  • 2026年比较好的强力瓷砖胶/防水瓷砖胶行业内口碑厂家推荐 - 行业平台推荐
  • Prompt caching 技术是如何实现 1 折的推理成本优化的?
  • 普通程序员如何转行大模型?一份详细攻略_大模型学习指南:小白程序员转行攻略(收藏版)