位运算的运用

【实战运用】定点数,位运算符及其在开发中的实际运用 定点数,位运算符及其简单运用导语:主要内容:一、定点数的定义:二、定点数的原码、反码与补码:三、定点小数:四、位运算符五、游戏中定点数的简单运用尾语 导语: 从大学开始学习web前端,到现在从事小游戏开发工作,偶尔会把一些学到的关联内容记在云笔记上,最近突然发现笔记内容有点多,而且乱,所以借此机会整理一下笔记,顺便巩固下内容。 主要内容: 一、定点数的定义: 定点数指小数点在数中位置固定不变的数。... 阅读详情

搜集自网络

  • 判断int型变量a是奇数还是偶数
a&1 = 0 偶数
a&1 = 1 奇数
  • 取int型变量a的第k位 (k=0,1,2……sizeof(int))
a>>k&1 (先右移再与1)
  • 将int型变量a的第k位清0
a=a&~(1<<k) (10000 取反后为00001 )
  • 将int型变量a的第k位置1
a=a|(1<<k) 
  • int型变量循环左移k次,
a=a<<k|a>>16-k (设sizeof(int)=16)
  • int型变量a循环右移k次,
a=a>>k|a<<16-k (设sizeof(int)=16)
  • 整数的平均值
    对于两个整数x,y,如果用 (x+y)/2 求平均值,会产生溢出,因为 x+y 可能会大于INT_MAX,但是我们知道它们的平均值是肯定不会溢出的,我们用如下算法:
int average(int x, int y)   //返回X、Y的平均值  
{     
     return (x & y) + ( (x^y)>>1 );  
}  
  • 对于一个数 x >= 0,判断是不是2的幂。
boolean power2(int x)  
{  
    return ( (x&(x-1))==0) && (x!=0);  
}  
  • 不用temp交换两个整数
void swap(int x , int y)  
{  
    x ^= y;  
    y ^= x;  
    x ^= y;  
}  
  • 计算绝对值
int abs( int x )  
{  
    int y ;  
    y = x >> 31 ;  
    return (x^y)-y ;        //or: (x+y)^y  
}  
  • 取模运算转化成位运算 (在不产生溢出的情况下)
    a % (2^n) 等价于 a & (2^n - 1)

  • 乘法运算转化成位运算 (在不产生溢出的情况下)
    a * (2^n) 等价于 a<< n

  • 除法运算转化成位运算 (在不产生溢出的情况下)
    a / (2^n) 等价于 a>> n
    例: 12/8 == 12>>3

  • a % 2 等价于 a & 1

  • 简单的if else

if (x == a)
x= b;
   else 
x= a;
等价于 x= a ^ b ^ x;
  • x 的 相反数 表示为(~x+1)

  • 输入2的n次方:1 << n

  • 乘除2的n倍:乘a << n, 除a >> n

AnyLogic 8.8.3 最新版安装指南:从下载到配置的完整流程(附Java环境设置技巧) 本文提供了AnyLogic 8.8.3最新版从下载到配置的完整安装指南,重点解决了跨平台(Windows、macOS、Linux)部署中的常见问题。核心内容详细讲解了Java开发环境(JDK)的精准配置技巧,包括版本选择、系统环境变量设置与验证,确保为仿真建模工作奠定稳固基础。 阅读详情

相关推荐

保姆级教程:用NVIDIA Jetson AGX Xavier和GMSL2相机搭建8路车载视觉原型系统

本文提供了一份详细的教程,指导如何使用NVIDIA Jetson AGX Xavier开发板和GMSL2相机搭建8路车载视觉原型系统。内容涵盖硬件选型、系统架构设计、软件环境配置、多路视频采集实现以及性能优化与问题排查,帮助开发者快速掌握GMSL2技术在车载视觉系统中的应用。

weixin_42525005的博客 295

位运算的巧妙运用

一、异或操作的妙用  1.使特定位翻转     要使哪几位翻转就将与其进行∧运算的该几位置为1即可。     如:对111010中间两位取反,则111010^1100=110110 2.与0相∧,保留原值.   即可以把^运算当做不进位的加法,加0,就保持不变 3.交换两个值,不用临时变量. 我们可以在不用引入其他变量就可以实现变量值的交换 用异或操作可以实现:      

cfanr 3140

Crawl4AI实战:5分钟搞定电商价格监控爬虫(附Python代码)

本文详细介绍了如何利用开源AI网络爬虫框架Crawl4AI快速构建电商价格监控系统。通过Python实战代码,展示了从环境配置、智能内容提取到多平台适配、定时任务与数据可视化的完整流程,帮助运营人员和技术开发者高效实现自动化价格追踪与竞品分析。

weixin_29090917的博客 414

论位运算的作用

位运算的作用远远超过你的想象,用的好有时候会有奇效。

nmg10的博客 2503

爬取二手房数据:Python爬虫+Geopy实战,看透房价与地理位置的隐藏关系

哪些区域单价虚高(房源少但单价远高于周边);哪些小区性价比高(靠近地铁/学校,单价低于同地段平均水平);房价与地理位置的量化关系(如距离地铁每远1公里,单价下降多少)。如果想扩展分析范围,可爬取多个城市/区域的数据,对比不同城市的房价差异;或结合时间维度(定期爬取),分析房价的涨跌趋势。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 949

实验三 Gmapping建图

自主移动机器人第三次实验课,内容包括:(1)turtlebot的gmapping建图;(2)rosbag的使用;(3)gazebo中的gmapping建图。

lj164567487的博客 4649

位运算在常见场景下的运用

位运算在常见场景下的运用 首先需要回顾一下常用的位运算操作 ^ 异或运算: 两个位相同为0,相异为1。 & 与运算:两个位都为1时,结果才为1。 | 或运算:两个位都为0时,结果才为0。 <<左移:各二进位全部左移若干位,高位丢弃,低位补0。 >>:各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移) LeetCode 461.汉明距离 两个整数之间的[汉明距离](https://baike.bai

wantaceveryday的博客 551

32、社交媒体大数据中的情感分析与网络欺凌检测

本文探讨了社交媒体大数据在情感分析和网络欺凌检测中的应用。情感分析有助于应对自动化带来的社会变化、促进社会包容和推动环境保护。网络欺凌作为一种严重的在线危害,其检测依赖于数据预处理、特征提取与深度学习模型(如CNN、LSTM)进行分类。文章还总结了大数据在欺诈检测、医疗、制造、交通等领域的广泛应用,并分析了数据存储、处理速度、质量和技术工具等方面的挑战,提出了相应的应对策略。未来,随着技术进步,社交媒体大数据将在更多领域发挥关键作用。

cc789的博客 91

位运算详解之与或非的巧妙运用

与(&)、或(|)、非(~)作为最基本的位运算操作,通过巧妙组合与运用,能解决许多复杂的算法问题、实现高效的数据处理,甚至在底层系统设计中发挥关键作用

2592

UltraScale系列底层结构(3)——URAM概述

在UltraScale+™ 器件中,除了我们在常规熟悉的BRAM资源以外,还额外提供了URAM(UltraRAM)资源。 UltraRAM 是一种单时钟同步操作的高密度存储器,每个 UltraRAM 块可存储 288 Kb 数据,配置为 4K x 72 位的存储单元,其容量是 Block RAM 的八倍。虽然 UltraRAM 内部使用单端口存储单元,但通过在一个时钟周期内顺序执行端口 A 和端口 B 的操作,实现了双端口功能。

apple_53311083的博客 2833

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

位运算小运用

位运算

2201_75336957的博客 325

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

深入理解位运算以及位运算在Java源码中的运用

程序中的数在计算机中都是以二进制形式存储,位运算就是直接对整数在内存中的二进制位进行操作,位运算 包括位逻辑运算和移位运算,位逻辑运算能够方便设置或屏蔽某个字节的一位或几位,也可以对两个数按位相加,移位运算可以对内存中某个二进制左移或右移几位。将参与运算的两个二进制数进行^异或运算,如果2个二进制位都是0或者都是1,那么就是0,如果两个二进制位不同,则为1。将参与运算的两个二进制数进行|或运算,两个二进制位只要其中1个是1 ,那么就是1,如果2个二进制位都是0则表示0。(0与任意数N|运算都是任意数N)

Zach的博客 1361

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

位运算概念与运用

程序中的所有数在计算机内存中都是以二进制的形式储存的,位运算就是直接对整数在内存中的二进制位进行操作的运算位运算符: &   按位与(and)   |    按位或(or)  ^   按位异或(xor)  ~   按位取反(not)  <<   左移(shl)  >>   带符号右移(shr)  优先级 优先等级 运算符 1 ~ 2 <<、>> 3 &

小学生 2922

算法学习-位运算异或xor的奇妙运用

使用位运算的异或,交换两个数

qq_41491194的博客 384

位运算(3)-- 高级运用

注:此文内容来自于对【数据结构与算法之位运算】课程所做的笔记一、二进制中1的个数问题:给定一个无符号整型变量,求其二进制表示中“1”的个数。 相似问题:判断整数A转换成整数B需要的次数。(A ^ B,再求“1”的个数) 分析:很容易想到右移,然后判断奇偶性,复杂度与最左侧的1的位置相关。int oneCount(unsigned int n){ int c = 0; while(

许少y 2309

位运算的运用场景使用总结

本文总结了位运算在算法、源码、面试中和Android中的运用场景使用。不足之处,欢迎指正。

小羊子的技术专栏 2773

位运算的实践运用

判断一个数的奇偶(|) var n = 2 n | 1 // 0 var n = 1 n | 1 // 1 向下取整(~~,>>,<<,>>>,|) ~~1.2 // 1 ~~1.8 // 1 1.8 >> 0 // 1 1.14 << 0 // 1 1.14 | 0 // 1 1.14 >>> 0 // 1 (>>>不可对负数取整) 2的倍数乘除法(<<,>>) 1.

heartcnc的博客 200

js中位运算的运用

js中位运算的运用 原文:js中位运算的运用我们可能很少在编程中用位运算,如果没深入学习,可能也很难理解。平时的数值运算,其实是要先转换成二进制再进行运算的,而位运算就是直接进行二进制运算,所以位运算的执行效率肯定是更高的。下面通过一些实例来加深对位运算的理解。 按位与(&) &&运算符我们都知道,只有两个都为真,结...

weixin_30532759的博客 70

位运算的运用1

一、位运算的前导知识 1.位运算符:&(与),|(或),^(异或),~(非/取反),<<(左移),>>(右移),>>>(无符号右移,高位填0) 2.关于异或(^) (1)异或满足交换律和结合律 ...

xiaoxi_hahaha的博客 756

位运算实际运用

前言:1.位运算1.1 & 按位与1.2 << 左位移2.二进制运算业务逻辑分析 前言: 日常开发中位运算不是很常用,但是巧妙的使用位运算可以大量减少运行开销,优化算法。 今天在翻看公司业务代码时发现一个功能模块中有运用到很多的二进制位运算来进行业务操作,心中不禁惊叹,牛人啊!后来经过领导的指点,自己也开始了解其中逻辑,特写下此文,记录并分享。 1.位运算 &:按位与。 |:按位或。 ~:按位非。 ^:按位异或。 <<:左位移运算符。 >>:右位移运算.

Marikty的博客 964

运用位运算的相关总结

前言 在刷leetcode的时候为了提高效率,很多操作可以使用位运算来进行优化,此文用于收集并总结位运算的相关操作。位运算基础知识可见:传送门。 内容 位运算实现四则运算-python版 这个太硬核了,看看就行,要是写代码这样那就太夸张了Fight!!(o-)~’'☆ミ☆ミ 乘以2操作 常规代码: b = a * 2; 位运算代码: b = a << 1; 乘以2并加1操作 常规代码: b = a * 2 + 1; 位运算代码: b = a << 1 | 1; 资料 位运算表

小小博客 444
上一篇: 知乎API搜集
下一篇: Unicode入门
KingLearnJava
博客等级 码龄12年 93粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值