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

C语言(第三十六天)

4. 位操作符:&、|、^
位操作符有:

& //按位与
| //按位或
^ //按位异或
注:他们的操作数必须是整数。

直接上代码:

#include <stdio.h>
int main()
{
int num1 = -3;
int num2 = 5;
num1 & num2;
num1 | num2;
num1 ^ num2;
return 0;
}

一道变态的面试题:
不能创建临时变量(第三个变量),实现两个数的交换。

#include <stdio.h>
int main()
{int a = 10;int b = 20;a = a^b;b = a^b;a = a^b;printf("a = %d b = %d\n", a, b);return 0;
}

练习:编写代码实现:求一个整数存储在内存中的二进制中1的个数。

参考代码:
//方法1
#include <stdio.h>
int main()
{int num = 10;int count= 0;//计数while(num){if(num%2 == 1)count++;num = num/2;
}printf("二进制中1的个数 = %d\n", count);return 0;
}
//思考这样的实现方式有没有问题?
//方法2:
#include <stdio.h>
int main()
{int num = -1;int i = 0;int count = 0;//计数for(i=0; i<32; i++){if( num & (1 << i) )count++;}printf("二进制中1的个数 = %d\n",count);return 0;
}
//思考还能不能更加优化,这里必须循环32次的。
//方法3:
#include <stdio.h>
int main()
{int num = -1;int i = 0;int count = 0;//计数while(num){count++;num = num&(num-1);}printf("二进制中1的个数 = %d\n",count);return 0;
}
//这种方式是不是很好?达到了优化的效果,但是难以想到。

相关文章:

C语言(第三十六天)

4. 位操作符&#xff1a;&、|、^ 位操作符有&#xff1a; & //按位与 | //按位或 ^ //按位异或 注&#xff1a;他们的操作数必须是整数。 直接上代码&#xff1a; #include <stdio.h> int main() { int num1 -3; int num2 5; num1 & num2; num1 | num2; nu…...

005_C++数学库常用函数

数学库常用函数 函数 我们其实已经掌握了一些函数,比如主函数main()。还有其他的函数比如一些库中的函数,例:<stdio.h>头文件对应标准输入输出库中的printf()和scanf()、<stdlib.h>标准库头文件对应的标准库中的srand()和rand(),除此之外在C++中常用的还有数…...

Briefings in Bioinformatics投稿经验分享

期刊名: BRIEFINGS IN BIOINFORMATICS期刊名缩写:BRIEF BIOINFORM期刊ISSN:1467-5463E-ISSN:1477-40542023年影响因子/JCR分区:9.5/Q1latex模板:http://static.primary.prod.gcms.the-infra.com/static/site/journals/document/oup-authoring-template.zip?node=7987de4…...

【原创】jmeter并发测试计划

bankQPS 创建线程组 设置并发参数 HTTP请求GET 添加HTTP请求 GET请求 查看结果树 HTTP请求 POST 添加HTTP请求 参数必须设置头信息格式&#xff1a; 添加HTTP头信息 查看结果树 可以选择&#xff0c;仅查看错误日志 汇总报告...

飞腾PSPA可信启动--1 非对称加密

最近计划在梳理下飞腾安全平台架构PSPA&#xff0c;就先从可信启动开始吧。有一些基础的密码学知识&#xff0c;各位在研究可信固件的时候可能会有一些不解&#xff0c;为了便于大家理解&#xff0c;编了几个小故事&#xff0c;希望能够帮助大家理清其中的各种关系。目前可信启…...

基于RabbitMQ的模拟消息队列需求文档

文章目录 一、项目背景二、需求分析1.核心概念2.BrokerServer核心组件3.核心API4.交换机类型5.持久化6.网络通信7.消息应答 三、消息队列模块划分 一、项目背景 什么是消息队列&#xff1f; 消息队列就是&#xff0c;基于阻塞队列&#xff0c;封装成一个独立的服务器程序&#…...

“北科Java面试宝典(211最详细讲解)“

Version : V1.0 北科Java面试宝典一、Java基础面试题【24道】二、JVM虚拟机面试题【14道】三、集合相关面试题【17道】四、多线程 【25道】五、IO【5道】六、网络编程 【9道】七、MySQL以及SQL面试题【20道】八、常用框架【19道】九、中间件和分布式 【54道】十、设计模式面试 …...

自动化测试工具Selenium的语法续.

OK&#xff0c;那么上篇博客我们介绍了如何搭建基于Javaselenium的环境&#xff0c;并且使用selenium的一些语法给大家演示了如何进行自动化测试的案例&#xff0c;那么本篇博客我们来继续学习selenium的一些其他的比较重要的语法&#xff0c;感谢关注&#xff0c;期待三连~ 目…...

稳恒电路直观理解

图v0 图v1 图v2 图v3 图v4 自由正电荷s&#xff0c;定向移动过程中&#xff0c;在任何一位置处受力都是平衡的&#xff0c;即s所受总合力为0&#xff0c; 即s处于匀速运动&#xff1a;直导体中匀速直线运动、拐弯处匀速圆周运动 起初t0时刻, s的势能是最高的E0&#xff0c;之…...

LeetCode面试经典150题(day 3)

169. 多数元素 难度&#xff1a;简单 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums …...

掌握这个工具,轻松管理所有物流信息

在电子商务高度发达的今天&#xff0c;物流快递行业在全球范围内发挥着至关重要的作用。然而&#xff0c;在如此复杂的物流环境中&#xff0c;快递退回件的管理和查询成为了一个难题。为了解决这个问题&#xff0c;我们有一个神奇的工具——快递批量查询高手。 快递批量查询高…...

1.Python操作txt文本

文章目录 1.Python读取一个txt文件的内容并将其写入到另一个txt文件2.Python读取一个未知编码的文件并将其设置为指定编码格式3.Python实现txt文件中字符串的替换 1.Python读取一个txt文件的内容并将其写入到另一个txt文件 # -*- encoding:gb2312 -*- import chardetdef read_…...

Redis 主从复制和哨兵模式

一、概念 主从复制&#xff0c;是指将一台 Redis 服务器的数据&#xff0c;复制到其他的 Redis 服务器。前者称为主节点&#xff08;master/leader&#xff09;&#xff0c;后者称为从节点&#xff08;slave/follower&#xff09;。数据的复制是单向的&#xff0c;只能由主节点…...

【已解决】在 SpringBoot 中使用 CloseableHttpClient 调用接口时,接收参数中的中文变为“?“

问题描述 由于项目需要&#xff0c;需要在代码中使用POST请求去调用另一个服务的接口&#xff0c;即不通过前端&#xff0c;A 项目直接在方法中发起HTTP请求调用 B 项目的接口&#xff0c;当请求体中的参数有中文时&#xff0c;参数接收后中文会变为“?”。 具体原因是参数的…...

研磨设计模式day15策略模式

场景 问题描述 经常会有这样的需要&#xff0c;在不同的时候&#xff0c;要使用不同的计算方式。 解决方案 策略模式 定义&#xff1a; 解决思路&#xff1a;...

Densenet模型详解

模型介绍 DenseNet的主要思想是密集连接&#xff0c;它在卷积神经网络&#xff08;CNN&#xff09;中引入了密集块&#xff08;Dense Block&#xff09;&#xff0c;在这些块中&#xff0c;每个层都与前面所有层直接连接。这种设计可以让信息更快速地传播&#xff0c;有助于解…...

华为eNSP模拟器中,路由器如何添加serial接口

在ensp模拟器中新建拓扑后&#xff0c;添加2个路由器。 在路由器图标上单击鼠标右键&#xff0c;选择设置选项。 在【视图】选项卡的【eNSP支持的接口卡】窗口查找serial接口卡。 选择2SA接口卡&#xff0c;将其拖动到路由器空置的卡槽位。 如上图所示&#xff0c;已经完成路由…...

Linux脚本- 执行当前文件下前500个.c文件,并将每个文件对应的执行结果重定向到同名的.ok文件中

需求&#xff1a;执行当前文件下前500个.c文件&#xff0c;并将每个文件对应的执行结果重定向到同名的.ok文件中 以下是一个用于实现该功能的 Bash 脚本。 #!/bin/bash# 计数器&#xff0c;用于限制处理的文件数量 counter0# 遍历当前目录下的所有 .c 文件 for c_file in *.c…...

高速公路自动驾驶汽车超车控制方法研究

目录 摘要 ............................................................................................................ I Abstract ...................................................................................................... II 目录 ...............…...

Java 多线程系列Ⅰ(创建线程+查看线程+Thread方法+线程状态)

多线程基础 一、创建线程的五种方法前置知识1、方法一&#xff1a;使用继承Thread类&#xff0c;重写run方法2、方法二&#xff1a;实现Runnable接口&#xff0c;重写run方法3、方法三&#xff1a;继承Thread&#xff0c;使用匿名内部类4、方法四&#xff1a;实现Runnable&…...

3D模型优化终极指南:glTF Pipeline如何让Web应用加载更快

3D模型优化终极指南&#xff1a;glTF Pipeline如何让Web应用加载更快 【免费下载链接】gltf-pipeline Content pipeline tools for optimizing glTF assets. :globe_with_meridians: 项目地址: https://gitcode.com/gh_mirrors/gl/gltf-pipeline glTF Pipeline是一款功能…...

用PLECS和C代码手把手教你实现数字滤波(附完整工程文件)

用PLECS和C代码实现数字滤波的工程实践指南 在电力电子和电机控制领域&#xff0c;数字滤波技术是实现信号处理的关键环节。无论是消除高频噪声还是提取特定频段的信号成分&#xff0c;一个设计良好的数字滤波器都能显著提升系统性能。本文将带您从理论到实践&#xff0c;通过P…...

Android购物商城APP实战:从零到一构建核心功能模块

1. 项目功能模块拆解与实现路径 一个完整的购物商城APP通常包含四大核心模块&#xff1a;用户系统、商品展示、购物车管理和订单处理。这就像搭建一个实体商店&#xff0c;需要先规划好门面&#xff08;登录注册&#xff09;、货架&#xff08;商品展示&#xff09;、购物篮&am…...

DRASTIC:面向任务感知闭环触觉互联网应用中6G网络切片的动态资源分配框架

大家读完觉得有帮助记得关注和 点赞&#xff01;&#xff01;&#xff01;摘要 本文提出一种新颖的学习驱动的带宽优化框架&#xff0c;称为 DRASTIC&#xff08;任务感知闭环触觉互联网应用中用于切片的动态资源分配&#xff09;。该框架在支持增强型移动宽带和高可靠低延迟通…...

Docker测试学习思路

Docker 核心概念学习与实战指南本文系统梳理 Docker 学习的核心思路与方法&#xff0c;用通俗类比帮助理解 Docker 的本质&#xff0c;涵盖镜像构建、容器运行、网络通信、数据持久化、资源限制五大核心能力&#xff0c;适合初学者建立清晰的 Docker 知识框架。一、Docker 到底…...

全套R分析代码,空间转录组 + scRNA-seq揭示阿尔茨海默病抗体药机制

&#x1f680;科研不掉发&#xff0c;快来这个地表最强的生信神仙网站&#xff1a;中国银河生信云平台&#x1f449; 立即访问&#xff1a;https://usegalaxy.cn最佳Galaxy生信云平台教程&#xff1a;从入门到精通&#xff08;图文版&#xff09;转录组分析流程和工具大全&…...

DanKoe 视频笔记:人生规划:20-30 岁是教程阶段,切勿虚度 [特殊字符]

在本节课中&#xff0c;我们将要学习如何正确看待并规划你的20-30岁。这个阶段并非人生的“主游戏”&#xff0c;而是关键的“教程”阶段。我们将探讨常见的陷阱和有效的策略&#xff0c;帮助你为未来打下坚实基础&#xff0c;避免陷入平庸的循环。 这封信的内容可能会让一些人…...

解决SlowFast环境配置中的‘No module named torch._six’等疑难杂症:从修改压缩包到调整import路径

SlowFast环境配置深度排障指南&#xff1a;从源码修改到路径调整的完整解决方案 在视频理解领域&#xff0c;SlowFast作为Facebook Research开源的优秀框架&#xff0c;凭借其双路径网络设计在动作识别任务中表现出色。然而&#xff0c;许多开发者在环境配置阶段就会遭遇各种&q…...

告别SSH一息屏就断连!用Termux-wake-lock让你的手机后台稳定运行

告别SSH一息屏就断连&#xff01;用Termux-wake-lock让你的手机后台稳定运行 你是否遇到过这样的场景&#xff1a;正通过电脑SSH连接到手机的Termux环境进行开发调试&#xff0c;突然一个微信消息弹出&#xff0c;切出去回复后&#xff0c;SSH连接立刻中断&#xff1f;或是手机…...

Vite多入口页面配置实战:从单页应用到多页项目的平滑升级指南

Vite多入口页面配置实战&#xff1a;从单页应用到多页项目的平滑升级指南 当你已经用Vite构建了一个优雅的单页应用&#xff0c;突然业务需求要求你扩展为多页项目时&#xff0c;是否感到手足无措&#xff1f;别担心&#xff0c;这种架构演进在项目成长过程中再常见不过了。作为…...