位运算符与高级操作

news2024/11/24 0:14:25

位运算符与高级操作

运算符

在这里插入图片描述

高级操作
  • 左移实现乘法

    • 左移n位等价于乘以2的n次方

      int x;
      x = 2;
      x = x << 2;
      x = x << 3;
      
    • 使用左移实现乘法运算仅限于乘以2的倍数

    • 是不是只要左移就能够实现乘以2的倍数呢?

      char x = 120;
      x = x << 1;
      
  • 右移实现除法

    • 右移n位等价于除以2的n次方

      int x = 100;
      x = x >> 1;
      x = x >> 3;
      
    • 使用右移实现除法运算仅限于除以2的倍数

  • 不使用中间变量交换两个整型变量的值

    int a = 5,b = 6;
    a = a + b;
    b = a - b;
    a = a - b;
    

    以上代码看似可以实现两个整型变量数值的交换,但是你能看出其中的bug吗?

    int a = 5, b = 6;
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    
  • 判断整数的奇偶性

    x & 1
    
  • 位操作进行高低位交换

    a = (a >> 8) | (a <<8 );
    
  • 寄存器的置位

    • 嵌入式系统总是要求用户对变量或寄存器(8位)进行位操作。给定一个变量a,将a的第3个bit位置1(bit位最右边的位第0位),其他位的值不变

      a = a | 0x08
      a = a | (1 << 3)
      
    • 将第三个bit位清零,其他位的值保持不变

      a = a & (~0x08)
      a = a & (~(1 << 3))
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1045155.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ipad触控笔有必要买吗?比较好用的电容笔

如果你想用iPad画画&#xff0c;苹果Pencil会是个不错的选择。然而&#xff0c;苹果原装的电容笔价格却高得让很多人望而却步。所以&#xff0c;比较好的办法就是选用一个平替电容笔。我曾经使用过ipad&#xff0c;也是一个数码爱好者&#xff0c;最近两年我开始接触使用平替电…

Spring MVC 中的数据验证技术

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

cmdb运维管理平台在哪能看

cmdb运维管理平台功能你可以在云呐 进行查看  CMDB运维管理平台是一种IT资产管理工具&#xff0c;它可以帮助企业对IT资源进行有效的管理和监控。以下是一些常见的应用场景&#xff1a;  IT资产清单管理&#xff1a;通过CMDB运维管理平台可以对企业的IT资产进行全面的清单管…

微软考虑引入小型核反应堆;诺基亚推出“网络即代码”平台丨RTE开发者日报 Vol.58

开发者朋友们大家好&#xff1a; 这里是「RTE 开发者日报」&#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

CISSP,你值得拥有(我的学习之路)

&#xff08;只分享三点&#xff1a;怎么学、怎么练、怎么考。&#xff09; 我为啥去考CISSP 我是个在信安行业摸爬滚打将近20年的老油条&#xff0c;知道CISSP这个认证是很早前的事情了&#xff0c;但一直以来都觉得它有点难&#xff0c;加上人又懒得要命&#xff0c;也就始…

学会安装Redis数据库到服务器或计算机(Windows版)

Redis 是一个基于内存的开源数据库系统&#xff0c;被广泛应用于 Web 应用、消息队列、缓存、实时统计等领域。它支持多种数据结构&#xff0c;包括字符串、哈希表、列表、集合、有序集合等&#xff0c;并提供了多种操作命令。 Redis 的特点如下&#xff1a; 内存存储&#xf…

打开网站显示“不安全”怎么办?

在互联网世界中&#xff0c;安全是一个至关重要的问题。然而&#xff0c;当您尝试访问某些网站时&#xff0c;可能会看到“不安全”的警告。这通常是因为这些网站没有部署SSL证书。SSL证书是一种数字证书&#xff0c;可确保互联网通信的安全性和保密性。 “打开网站显示不安全”…

什么是城市坐标系,与国家坐标系的区别?

文章目录 先说国家坐标系什么是城市坐标系城市坐标系建设规范常见的城市坐标系 先说国家坐标系 先1954年我国建立了第一代国家大地坐标系统&#xff0c;即北京54坐标系&#xff0c;英文缩写BJ54&#xff0c;坐标原点在苏联&#xff0c;椭球参数直接拿苏联的。第一代坐标系的椭…

八大排序详解

目录 1.排序的概念及应用 1.1 排序的概念 1.2 排序的应用 1.3 常见的排序算法 2.常见排序算法的实现 2.1 直接插入排序 2.1.1 基本思想 2.1.2 动图解析 2.1.3 排序步骤&#xff08;默认升序&#xff09; 2.1.4 代码实现 2.1.5 特性总结 2.2 希尔排序 2.2.1 基本思…

基于Xilinx UltraScale+ MPSOC(ZU9EG/ZU15EG)的高性能PCIe数据预处理平台

PCIE707是一款基于PCIE总线架构的高性能数据预处理FMC载板&#xff0c;板卡具有1个FMC&#xff08;HPC&#xff09;接口&#xff0c;1路PCIe x4主机接口、1个RJ45千兆以太网口、2个QSFP 40G光纤接口。板卡采用Xilinx的高性能UltraScale MPSOC系列FPGA作为实时处理器&#xff0c…

苹果手机充电充不进去什么原因?尝试这些方法拯救!

虽然苹果手机价格比较昂贵&#xff0c;但也抵挡不了大家对它的喜爱与追捧。无论是在国内还是国外&#xff0c;苹果手机都拥有着十分庞大的用户群体。 一些使用过苹果手机的朋友表示&#xff0c;苹果手机耗电快并且还出现过充不进电的情况。那么&#xff0c;苹果手机充电充不进…

【面试高高手】——Spring(12题)

文章目录 1.Spring是什么&#xff1f;2.为什么需要Spring?3.说下你对Spring的AOP、IOC的理解&#xff1f;4.基于java的AOP实现有哪些&#xff1f;5.AOP的原理&#xff1f;6.如何使用Java实现动态代理?7. Spring AOP和AspectJ AOP有什么区别&#xff1f;8.SpringAOP通知类型&a…

518抽奖软件,支持半透明框,让界面布局更美观规整

518抽奖软件简介 518抽奖软件&#xff0c;518我要发&#xff0c;超好用的年会抽奖软件&#xff0c;简约设计风格。 包含文字号码抽奖、照片抽奖两种模式&#xff0c;支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 半透明框的用途 把零散的界面元素统一放置在…

3秒钟解析超买超卖和Renko图表关系

不管是刚进入市场中的外汇新手&#xff0c;还是已经在外汇市场中赚的盆满钵满&#xff0c;只要还是外汇市场中的一份子&#xff0c;一定在不止一次听说过超买和超卖。今天FPmarkets澳福和各位投资者一起探讨超买超卖和Renko图表的关系。 超买在FPmarkets看来就是指大部分市场参…

【Git】Deepin提示git remote: HTTP Basic: Access denied 错误解决办法

git remote: HTTP Basic: Access denied 错误解决办法 1.提交代码的时候提示2. 原因3.解决方案 1.提交代码的时候提示 git remote: HTTP Basic: Access denied 错误解决办法 2. 原因 本地git配置的用户名、密码与gitlabs上注册的用户名、密码不一致。 3.解决方案 如果账号…

9+铜死亡+缺氧+分型+单细胞+实验生信思路

今天给同学们分享一篇铜死亡缺氧分型实验的生信文章“Unraveling Colorectal Cancer and Pan-cancer Immune Heterogeneity and Synthetic Therapy Response Using Cuproptosis and Hypoxia Regulators by Multi-omic Analysis and Experimental Validation”&#xff0c;这篇文…

vscode快捷生成html标签

vscode快捷生成代码片段 ul>li*2.silder会生成如下代码片段 再或者 ul>li*6.silder>p.silder$会生成如下代码片段 如果页面中涉及到上面这种情况的代码块的时候可以使用这种方法快捷生成对应的代码块

freeswitch-02

文章目录 1. 拨号计划1.1 定义1.2 XML Dialplan1.2.1 配置文件的结构1.2.2 默认配置文件简介 1.3 正则表达式1.4 通道变量1.5 工作机制1.6 常用的Dialplan App1.7 小结 2. SIP协议2.1 SIP协议基础2.2 HTTP协议和SIP协议2.3 3PCC 3. 媒体3.1 媒体处理3.1.1 音频编码3.1.2 透传、…

多路复用select epoll

目录 一、什么是多路复用&#xff1a; 二、select 1 基本原理 2 参数 3 使用例子 4 select的缺点 三、epoll 使用用例 一、什么是多路复用&#xff1a; 多路: 指的是多个socket网络连接;复用: 指的是复用一个线程、使用一个线程来检查多个文件描述符&#xff08;Socke…

OpenAI官方吴达恩《ChatGPT Prompt Engineering 提示词工程师》(2)如何迭代开发提示词

迭代/Iterative 在机器学习中&#xff0c;您经常有一个想法&#xff0c;然后实现它。编写代码&#xff0c;获取数据&#xff0c;训练模型&#xff0c;这就给您一个实验结果。然后您可以查看该输出&#xff0c;进行错误分析&#xff0c;找出哪些地方工作或不工作&#xff0c;然后…