位与运算的应用:
0、对于a%b进行取模和取余操作,如果b=2^k,则用位与运算比取模/余速度更快:a%b=a&(b-1)
1、 用于整数的奇偶性判断,2值状态的切换
if(a&1)
{ printf(“a是奇数”) }
else{
{ printf(“a是偶数”) }/*偶数的最低位为0*/
}
2正整数m对2^k取模:m%(2^k)=m&((1<<k)-1)
3掩码:对于数组a[size]掩码是mask =size -1
对16进制=1<<n -1
3 快速幂取模算法: a^b mod c
// 快速计算 (a ^ p) % m 的值
__int64 FastM(__int64 a, __int64 p, __int64 m)
{
if (p == 0) return 1;
__int64 r = a % m;
__int64 k = 1;
while (p > 1)
{
if ((p & 1)!=0)
{
k = (k * r) % m;
}
r = (r * r) % m;
p >>= 1;
}
return (r * k) % m;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?