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

嵌入式学习Day14 C语言 --- 位运算

位运算

注意:符号位也遵循这个规则

一、按位与(&)

   运算规则:一假则假   

   int a = 0x33;a & 0x55;0011 00110101 0101 &----------0001 0001 //0x11

二、按位或(|)

   运算规则:一真则真 

   int a = 0x33;a |0x55;0011 00110101 0101 |----------0111 0111 //0x77

三、按位取反(~) 

   运算规则: 真假相对

   int a = 0x33;a |0x55;0011 0011 ~----------1100 1100 //0xcc 

四、按位异或(^)

   运算规则:相同为0 不同为1(同假异真)

   int a = 0x33;a ^ 0x55;0011 00110101 0101 ^----------0110 0110 //0x66

 异或运算可用来实现加密 

eg:0x55  0x33 (密码)0101 0101 0011 0011  (0x33)---------0110 0110  //0x660011 0011----------0101 0101 //0x55 

五、按位左移(<<)

   运算规则:左边舍弃右边补零
   
 

   写法:数值<<位数 int a = 0x33;a0011 0011a<<10110 01106    6  //左移一位相当于乘以2 

六、按位右移(>>) 

   运算规则:
   有符号类型的数据,此时右移 最高位 补符号位 //算术右移 
   无符号类型的数据,此时右移 最高位 补0      //逻辑右移 
   

   写法:数值>>位数 

练习

练习: 
   int a = 0xffffffff;
   编写程序,让所有的偶数位 清0


练习:                 
   int a = 0x55555555;  
   编写程序,让所有奇数位置1 
 


练习:不使用第三方变量,实现两个数交换 

int a = 10;
int b = 20;法一:a = a + b; // 10 + 20 = 30 //a
b = a - b; // 30 - 20 = 10 //b 
a = a - b; // 30 - 10 = 20 //a法二:0000 1010  a0001 0100  b
----------0001 1110 0001 0100
----------0000 1010  b0001 1110----------0001 0100  //
a = a ^ b;  0001 1110  
b = a ^ b;  0000 1010
a = a ^ b;  0001 0100

    

练习:统计int类型中1的个数

int a = 1213; //二进制中1的个数 

相关文章:

嵌入式学习Day14 C语言 --- 位运算

位运算 注意&#xff1a;符号位也遵循这个规则 一、按位与(&) 运算规则&#xff1a;一假则假 int a 0x33;a & 0x55;0011 00110101 0101 &----------0001 0001 //0x11 二、按位或(|) 运算规则&#xff1a;一真则真 int a 0x33;a |0x55;0011 00110101 0101 |…...

idea设置terminal为git

要在IntelliJ IDEA中设置终端为Git Bash&#xff0c;请按照以下步骤操作&#xff1a; 打开 Settings&#xff08;设置&#xff09;。点击 Tools&#xff08;工具&#xff09;选项卡。进入 Terminal&#xff08;终端&#xff09;界面。在 Shell Path 下选择 Browse&#xff08;…...

《MySQL 简易速速上手小册》第3章:性能优化策略(2024 最新版)

文章目录 3.1 查询优化技巧3.1.1 基础知识3.1.2 重点案例3.1.3 拓展案例 3.2 索引和查询性能3.2.1 基础知识3.2.2 重点案例3.2.3 拓展案例 3.3 优化数据库结构和存储引擎3.3.1 基础知识3.3.2 重点案例3.3.3 拓展案例 3.1 查询优化技巧 让我们来聊聊如何让你的 MySQL 查询跑得像…...

【golang】23、gorilla websocket 源码:examples、数据结构、流程

文章目录 一、examples1.1 echo1.1.1 server.go1.1.2 client.go 1.2 command1.2.1 功能和启动方式1.2.2 home.html1.2.3 main.go 1.3 filewatch1.3.1 html1.3.2 serveHome 渲染模板1.3.3 serveWs1.3.4 writer() 1.4 buffer pool1.4.1 server1.4.2 client 1.5 chat1.5.1 server1…...

SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式 基础(持续更新~)

具体操作&#xff1a; day2: 作用&#xff1a; 出现跨域问题 配相对应进行配置即可解决&#xff1a; IDEA连接的&#xff0c;在url最后加参数?useSSLfalse注意链接密码是123&#xff08;docker中mysql密码&#xff09; 注意&#xff0c;虚拟机中设置的密码和ip要和主机上…...

flask+pyinstaller实现mock接口,并打包到exe运行使用postman验证

flask代码 from flask import Flask, request, jsonifyapp Flask(__name__)app.route("/login", methods[POST]) def login():username request.json.get("username").strip() # 用户名password request.json.get("password").strip() # 密…...

【Spring Boot】第一篇 创建简单的Spring Boot项目

导航 一. 简介二. 创建简单的Spring Boot项目1. 工具选择和版本确定2. 创建步骤 三. 部署项目四. 测试验证 一. 简介 Spring Boot是一个用于构建独立的、生产级别的Spring应用程序的框架。它简化了Spring应用程序的创建和配置过程&#xff0c;同时提供了很多开箱即用的功能&am…...

SSL协议是什么?关于SSL和TLS的常见问题解答

SSL&#xff08;安全套接字层&#xff09;及其后继者TLS&#xff08;传输层安全&#xff09;是用于在联网计算机之间建立经过身份验证和加密的链接的协议。尽管SSL协议在 1999年已经随着TLS 1.0的发布而被弃用&#xff0c;但我们仍将这些相关技术称为“SSL”或“SSL/TLS”。那么…...

第十五个知识:JQuery

初识JQuery: <head><meta charset"UTF-8"><title>Title</title><script src"lib/jquery-3.7.1.js"></script>//引入jquery </head> <body><a href"https://www.baidu.com" id"baidu&q…...

用Matlab 2015a svmtrain函数训练的SVM model在2021b无法使用的解决方法

背景 与r2015a版本的Matlab相比&#xff0c;r2021b版本中包含更多集成好的算法模块&#xff08;尤其是深度学习的模块&#xff09;&#xff0c;想把原来r2015a版本的代码升级到r2021b高版本的Matlab已经采用fitcsvm函数和predict函数替代了旧版本中svmtrain函数和svmclassify函…...

umount:/home/tuners/windows files:目标忙。

您提到的错误信息 "umount: /home/tuners/windows files: 目标忙。" 是在尝试卸载&#xff08;umount&#xff09;一个文件系统时常见的错误。这个错误表明有一些进程仍然在使用挂载点&#xff08;/home/tuners/windows files&#xff09;下的文件或目录&#xff0c;…...

FPGA_vga显示

一 VGA 1.1 VGA VGA是视频图像阵列&#xff0c;是一种使用模拟信号进行视频传输的标准协议。 1.2 VGA接引脚定义 VGA分公母两种&#xff0c;RGB显示标准。 1.3 VGA显示器 VGA显示器采用图像扫描的方式进行图像显示&#xff0c;将构成图像的像素点&#xff0c;在行同步信号…...

sklearn模型指标和特征贡献度查看

文章目录 算法介绍r2_scoretrain_test_splitDecisionTreeRegressor参考文献支持快速查看traget和特征之间的关系 # -*- coding: utf-8 -*- import pandas as pd pd.set_option(display.max_columns, None) pd.set_option...

2024.2.6日总结(小程序开发3)

页面配置 页面配置和全局配置的关系&#xff1a; 小程序中&#xff0c;app.json中的window节点&#xff0c;可以全局配置小程序中每个页面的窗口表现 如果某些小程序想要有特殊的窗口表现&#xff0c;可以用页面级别的.json配置文件实现这个需求 页面配置和全局配置冲突时&…...

相机图像质量研究(10)常见问题总结:光学结构对成像的影响--光圈

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…...

TCP和UDP相关问题(重点)(3)——3.HTTP基于TCP还是UDP?

HTTP/3.0 之前是基于 TCP 协议的&#xff0c;而 HTTP/3.0 将弃用 TCP&#xff0c;改用 基于 UDP 的 QUIC 协议 。具体见HTTP相关问题-CSDN博客...

基于modbus rtu协议操作PLC的EPICS示例

硬件设备 本实验中使用到的设备如下&#xff1a; 1、S7-200 Smart SR20 PLC 作为受控设备&#xff0c;执行机构。 S7-200 Smart是西门子的一款小型PLC产品&#xff08;以下简称Smart系列&#xff09;。 Smart系列PLC是西门子公司经过大量调研&#xff0c;为中国小型自动化…...

网站被攻击有什么办法呢?

最近&#xff0c;德迅云安全遇到不少网站用户遇到攻击问题&#xff0c;来咨询安全解决方案。目前在所有的网络攻击方式中&#xff0c;DDoS是最常见&#xff0c;也是最高频的攻击方式之一。不少用户网站上线后&#xff0c;经常会遭受到攻击的困扰。有些攻击持续时间比较短影响较…...

VoIP之主备注册服务器机制

在IP话机的实际使用中&#xff0c;不可避免的会出现服务器离线运维、服务宕机、IP话机和服务器连接中断等情况。为了保证电话服务的连续性&#xff0c;在VoIP部署服环境中必须有冗余机制。常见的冗余机制以主备服务器的形式实现。 一、主备机制原理 话机正常情况下注册在主服…...

【数据分享】1929-2023年全球站点的逐年平均降水量(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;说到常用的降水数据&#xff0c;最详细的降水数据是具体到气象监测站点的降水数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2023年全…...

攻防世界 reverse题GFSJ0810-【crazy】

1.工具&#xff1a;exeinfope、IDA Pro (64-bit)、thonny2.解题&#xff1a;下载附件后&#xff0c;我们先在exeinfope里查壳&#xff0c;如下我们发现是64位无壳文件&#xff0c;然后我们把它放到IDA Pro (64-bit)里分析&#xff0c;我们点击F5先查看伪代码&#xff0c;如下代…...

微信小程序消息推送配置避坑指南:为什么你的Token校验总是失败?

微信小程序消息推送配置避坑指南&#xff1a;为什么你的Token校验总是失败&#xff1f; 第一次配置微信小程序消息推送功能时&#xff0c;开发者往往会遇到一个令人头疼的问题——Token校验失败。这个看似简单的验证环节&#xff0c;却隐藏着不少技术细节。本文将带你深入理解校…...

从ARMA模型到功率谱估计:一个案例讲透现代信号处理中的‘参数化’与‘非参数化’方法

从振动信号到频谱洞察&#xff1a;ARMA与FFT在工程诊断中的方法论抉择 车间里一台大型离心泵突然发出异常嗡鸣&#xff0c;工程师小王手持采集器记录下这段振动信号。面对屏幕上跳动的波形&#xff0c;他需要回答一个关键问题&#xff1a;这段信号中隐藏的频率特征究竟是什么&a…...

用Logisim从零搭建一个24小时数字时钟:从计数器到完整计时器的保姆级教程

用Logisim从零搭建一个24小时数字时钟&#xff1a;从计数器到完整计时器的保姆级教程 数字时钟是现代生活中不可或缺的设备&#xff0c;但你是否曾好奇过它的内部工作原理&#xff1f;在数字电路的世界里&#xff0c;构建一个24小时计时器不仅是一项有趣的实践&#xff0c;更是…...

一U多系统终极方案:用Ventoy管理ISO镜像+VMware验证的完整工作流

一U多系统终极方案&#xff1a;用Ventoy管理ISO镜像与VMware验证的完整工作流 在数字工具日益复杂的今天&#xff0c;系统管理员和技术爱好者常面临一个经典难题&#xff1a;如何高效管理多个操作系统镜像并确保其启动兼容性。传统方法需要反复格式化U盘或携带多个启动设备&am…...

C++笔记 缺省值 函数重载 名字空间域(基础核心)

本文为C基础核心知识点笔记&#xff0c;聚焦「缺省值」「函数重载&#xff08;概念&#xff09;」「名字空间域」三大高频基础考点&#xff0c;语言通俗、重点突出&#xff0c;兼顾入门理解和考试记忆&#xff0c;适合新手入门、作业复习及GitHub归档。一、缺省值&#xff08;默…...

FPGA实战避坑:手把手教你用Verilog搞定跨时钟域信号传输(附同步/异步FIFO完整代码)

FPGA实战避坑&#xff1a;手把手教你用Verilog搞定跨时钟域信号传输 第一次在FPGA项目里遇到跨时钟域问题&#xff0c;我盯着屏幕上那些随机跳变的数据波形&#xff0c;整整三天没想明白问题出在哪。当时我正在做一个工业传感器数据采集系统&#xff0c;处理器接口跑在100MHz&a…...

WeeChat终极指南:从零开始掌握轻量级聊天客户端

WeeChat终极指南&#xff1a;从零开始掌握轻量级聊天客户端 【免费下载链接】weechat The extensible chat client. 项目地址: https://gitcode.com/gh_mirrors/we/weechat WeeChat&#xff08;Wee Enhanced Environment for Chat&#xff09;是一个免费、快速且轻量级的…...

WebPlotDigitizer实战指南:从科研图表中智能提取数据的完整方案

WebPlotDigitizer实战指南&#xff1a;从科研图表中智能提取数据的完整方案 【免费下载链接】WebPlotDigitizer WebPlotDigitizer: 一个基于 Web 的工具&#xff0c;用于从图形图像中提取数值数据&#xff0c;支持 XY、极地、三角图和地图。 项目地址: https://gitcode.com/g…...

刚刚!美团开源LongCat-Next,全模态模型保姆级教程(非常详细),从入门到精通,建议收藏!

昨天下午刷到了美团龙猫团队又开源了一个新模型-LongCat-Next。 这次有所不同&#xff0c;是一个原生全模态模型&#xff0c;可以接受文本、语音、图像的输入&#xff0c;生成文本、语音、图像&#xff0c;激活参数3B。 在训练上&#xff0c;通过分词器-反分词器对&#xff0…...