当前位置: 首页 > 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年全…...

Qwen3-0.6B-FP8高性能推理:FP8量化不损质量,数学/代码生成保持SOTA

Qwen3-0.6B-FP8高性能推理&#xff1a;FP8量化不损质量&#xff0c;数学/代码生成保持SOTA 最近在部署大模型时&#xff0c;你是不是也经常遇到这样的困扰&#xff1a;模型效果确实不错&#xff0c;但推理速度慢、显存占用高&#xff0c;稍微复杂点的任务就得等半天。特别是像…...

网络工程师日记--企业内外网访问控制与网络架构搭建实践

前言企业网络搭建与运维中&#xff0c;合理的网络架构分层与精细化的访问控制策略是保障网络安全、提升业务可用性的核心。本文结合实际网络拓扑场景&#xff0c;从架构设计、需求分析、策略配置三个维度&#xff0c;讲解企业内网与外网的访问控制实现及网络架构搭建要点学习目…...

RWKV7-1.5B-g1a部署教程:适配A10/A100/V100等主流GPU,显存占用稳定3.8GB

RWKV7-1.5B-g1a部署教程&#xff1a;适配A10/A100/V100等主流GPU&#xff0c;显存占用稳定3.8GB 1. 模型简介 rwkv7-1.5B-g1a是基于新一代RWKV-7架构的多语言文本生成模型&#xff0c;特别适合中文场景下的轻量级应用。这个1.5B参数的版本在保持较高生成质量的同时&#xff0…...

SAM-Audio多模态音频分离技术全解析:从原理到实践应用

SAM-Audio多模态音频分离技术全解析&#xff1a;从原理到实践应用 【免费下载链接】sam-audio The repository provides code for running inference with the Meta Segment Anything Audio Model (SAM-Audio), links for downloading the trained model checkpoints, and exam…...

老设备复活指南:使用OpenCore Legacy Patcher实现老款Mac系统升级

老设备复活指南&#xff1a;使用OpenCore Legacy Patcher实现老款Mac系统升级 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着苹果不断推进macOS更新&#xff0c;许多…...

2026知网AIGC检测算法升级,降AI率工具还能有效降论文ai率吗?

2026知网AIGC检测算法升级&#xff0c;降AI率工具还能有效降论文ai率吗&#xff1f; 每到毕业季&#xff0c;关于知网AIGC检测的消息都会在各大高校论坛炸开锅。2026年春季学期刚开始&#xff0c;知网就放出了一个让无数毕业生心头一紧的消息——AIGC检测算法完成了新一轮升级。…...

基于LiveQing流媒体平台实现大疆无人机等RTMP推流接入轻松实现Web网页直播+录像回放

大疆无人机RTMP推流接入LiveQing&#xff0c;轻松实现Web网页直播录像留存 在无人机直播场景中&#xff0c;大疆无人机凭借出色的空中视角和稳定的图传表现&#xff0c;成为应急救援、工程巡检、赛事直播、国土测绘等领域的首选设备。但很多用户在使用大疆无人机直播时&#xf…...

I2C基础复习

一、I2C 基础详解 I2C&#xff08;Inter-Integrated Circuit&#xff0c;集成电路总线&#xff09;是一种半双工、同步、多主多从的串行通信协议&#xff0c;由 Philips&#xff08;现 NXP&#xff09;于 1982 年发明&#xff0c;广泛用于 MCU 与低速外设&#xff08;如传感器、…...

Python内存占用直降63%!20年CTO首次公开智能体内存策略的3级缓存配置模板

第一章&#xff1a;Python智能体内存管理策略配置步骤详解 Python智能体&#xff08;如基于LangChain、LlamaIndex构建的Agent&#xff09;在长时间运行或高并发场景下易遭遇内存泄漏、对象堆积与GC延迟问题。合理配置内存管理策略&#xff0c;是保障其稳定性和响应效率的关键环…...

网络安全专业的就业前景到底如何?给大家来分析一波

网络安全专业就业前景怎么样&#xff1f; 网络的安全是指通过采用各种技术和管理措施&#xff0c;使网络系统正常运行&#xff0c;从而确保网络数据的可用性、完整性和保密性。网络安全的具体含义会随着“角度”的变化而变化。比如&#xff1a;从用户&#xff08;个人、企业等…...