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

位运算算法篇:进入位运算的世界

位运算算法篇:进入位运算的世界

本篇文章是我们位运算算法篇的第一章,那么在我们是算法世界中,有那么多重要以及有趣的算法,比如深度优先搜索算法以及BFS以及动态规划算法等等,那么我们位运算在这些算法面前相比,位运算就显得十分的低调,但是它仍然是一个十分重要的算法,所以我将用三到四篇文章来介绍我们的位运算,帮你领略我们位运算的神奇与各种骚操作,那么废话不多说,我们进入我们位运算的学习

1.二进制

那么在了解我们各种位运算之前,我们得先知道我们为什么要学习我们的位运算,对于我们的计算机来说,我们计算机的底层硬件只能识别由0和1组成的二进制语言,那么意味着任何数据在底层都是以二进制的形式存储的,其中就包括我们的各种数据类型比如我们的整形以及字符类型等等,那么既然这些数据统一都是以二进制形式存取,那么我们的位运算就是以二进制序列为基础展开的运算,所以可想而知位运算的重要性。


那么我们刚才也说了,各种的整形底层也都是以二进制的形式存在,那么对于我们的整形来说,我们可以将一个整形分为无符号整形以及有符号整形,那么所谓无符号整形我们很好理解,那么该整形的二进制位全部都用来作为数值位,那么也就意味着我们的无符号整形只有非负数,那么以32位的int类型为例,那么它的32个二进制位都可以作数值位,那么每一个二进制位要么是0要么是1,那么也就意味着我们的int类型的范围是0到2的32次方减一。

而对于有符号整形,我们知道在我们现实生活中,我们用正负号来区分我们的数的正负,而在我们计算机世界中,我们的数据只有0和1组成,任何数据都只能表示为0与1组成的二进制序列,那么要表达正负数,我们将一个数的最高位设置为符号位,其中0表示为正数,那么1表示为负数,其余则是作为数值位

那么对于正数来说,除了最最高位为0,其余都是数值位,那么我们按照每个数值位所对应的权值来得到一个十进制数,但是对于负数,我们采取了一个特殊的设计

那么我们的整形分为了原码以及反码和补码,那么我们计算机中存取的都是补码,那么我们正数的原码以及反码和补码都是一样的,而对于我们的负数来说,我们得到一个负数的补码,那么首先我们得将负数的补码除最改为符号位其余按位取反,然后再加1就得到我们的负数的原码,那么我们该原码的数值位就是我们该负数的绝对值,那么我们得到负数的绝对值,前面加一个符号即可。所以我们看到一个整形的二进制序列,先看符号位,如果是0,代表正数,1则是负数,然后将其转换为原码来解读出它对应的10进制数

假设以4个比特位为例: 1110

1.最高位是1,那么负数

2.按位取反(~) 1001

3.取反后再加1 1010

4.解读数值位 得到 -2

那么相信通过我刚才的介绍你一定能够熟练的掌握有符号整形的识别与转化,那么想必你一定有一个疑问,那么也就是我们对于负数为什么要这么设计呢?

那么我们知道我们的CPU的计算机只有我们的加法器,那么我们关于我们整形的乘法以及出发运算都要通过我们的加法运算来实现,那么对于加法运算来说,我们的正数加正数那么就正常的按照我们二进制的计算规则逢2进1计算即可,但是对于正数加负数,那么我们知道我们正数加负数,我们现实世界中计算,那么我们首先得判断两个数的绝对值,然后让绝对值大的减去绝对值小的,那么我们要做到,必然就要涉及到条件判断,那么条件判断肯定会影响效率,所以能不能采取统一的规则,不关心该数是正还是负,都能用统一的方式来计算,那么这就是补码出现的意义:

那么它做到了让我们计算一个二进制序列不要关心正负,按照正数加正数的那套逻辑得到值,如果是负数的话,我们按照上文所说的,将其转换为原码就能得到该数的具体数值是什么了,你下来可以动手实践一下,结果肯定都是一定满足的。

比如5+(-3)假设以4个比特位为例

那么5的二进制序列0101

​ 3的补码:1101

​ 计算过程 0101

​ 1101

​ -----------

​ 0010

那么0010对应的10进制数就是我们的2

2.位运算

那么刚才引入了二进制的相关知识,那么我们再来介绍我们几个常见的位运算,

那么我们的位运算可以分为两大类,分别是算术运算以及逻辑运算,那么我们首先先讲解一下我们的算术运算:

或运算(|):

那么我们的或运算的运算规则则是对应的二进制位只要为1,那么结果一定为1,如果对应的二进制位全部是0,那么计算的结果才是0,或运算同时可以引入到逻辑运算中,只有运算的条件全部为false,结果才为false

0 | 0 =0

1| 0=1

1 | 1=1

与运算(&):

与运算的规则则是我们对应的二进制位全部为1结果才为1,其余则全是0,对应逻辑运算则是条件全为真,结果才为真。

1 & 1=1

1& 0 =0

异或运算(^):

异或运算的规则则是相同为0,相异为1

1^0 =1

1^ 1=0

0^ 0=0

右移运算符:

那么我们的右移运算符则分为两种分别是算术右移以及逻辑右移

那么逻辑右移(>>>)则是我们将我们的二进制序列整体往右移动,然后左边补0,但是我们知道对于有符号整形来说,它的最高位为符号位,那么如果采取这种右移方式,那么它的正负会颠倒,对数值会改变,所以我们有第二种方式

算术右移(>>),那么它则是左边不是补0,而是补充符号位,那么对于负数来说,那么它则是会在左边依次补1。

并且我们要注意我们的右移运算符,那么它只是一个动作,也就是说我们对一个整形的变量左移了n位,那么右移后的结果会保存在一个临时变量中,而不是对原变量直接进行右移,同理对于左移,那么我们可以简单的用代码来验证:

#include <stdio.h>int main() {int original = 8; // 二进制:00001000int leftShifted = original << 2; // 左移两位,二进制:00010000,即16int rightShifted = original >> 2; // 右移两位,二进制:00000010,即2printf("Original: %d\n", original);printf("Left Shifted: %d\n", leftShifted);printf("Right Shifted: %d\n", rightShifted);return 0;
}

在这里插入图片描述

左移运算符(<<):

那么我们的左移运算符就不用像刚才的那样分为逻辑以及算术,那么我们的左移运算符的右边统一用0来补充。

那么对于逻辑右移运算符以及左移运算,我们每次逻辑左移动一位就相当于在原数的基础上除了2,每次右移动一位就相当于在原数的基础上乘以了2


逻辑运算:

逻辑或运算符(||):

那么我们的逻辑或运算符的运算规则和或运算符一致,只有有一个条件为真,结果为真,但是注意的是,我们逻辑或运算符没有穿透性,也就是说我们逻辑或运算符是从左往右依次进行条件判断,一旦判断到有一个条件表达式为真,那么它就不在执行之后的条件判断,直接返回结果为真,而我们的或运算则是要依次从左到右判断完

那么我们可以写一个代码来验证:

#include<iostream>
using namespace std;
bool returntrue(void)
{cout<<"run this succcessfully ";return true;
}
bool returnfalse(void)
{cout<<"run this successfully";return false;
}
int main()
{cout<<"Test1:"<<endl;bool res=returntrue()||returnfalse();cout<<endl;cout<<"Test2:"<<endl;res=returntrue()|returnfalse();return 0;
}

在这里插入图片描述

逻辑与运算符(&&):

运算规则也是和与&运算一致,但是注意我们的逻辑与运算也不具有穿透性,它也是从左往右依次判断条件表达式的真值,一旦我们的中间的某个条件表达式为假,那么它就不再往后执行后面的条件判断语句,直接返回false

同样也是与上面一套的代码逻辑稍加修改来验证:

#include<iostream>
using namespace std;
bool returntrue(void)
{cout<<"run this succcessfully ";return true;
}
bool returnfalse(void)
{cout<<"run this successfully";return false;
}
int main()
{cout<<"Test1:"<<endl;bool res=returnfalse()&&returntrue();cout<<endl;cout<<"Test2:"<<endl;res=returntrue()|returnfalse();return 0;
}

在这里插入图片描述

3.实践

那么我们有了上述的知识,那么我们可以根据我们本篇文章所讲的全部内容来自己实现一个打印一个数的二进制序列。

那么具体实现的原理也很简单,那么就是我们的利用我们的位运算,我们对于一个int类型的数,那么它有32个二进制位,那么我们打印它所有的32个二进制位,我们就得从左往右依次打印每一个二进制位,那么我们利用我们的与运算,那么与运算的规则是对应的二进制位只要有1,那么结果为1,全部为0,结果则为0,那么我们知道我们十进制的1,那么对应的二进制序列就是只有最低位的二级制位为1,其余为0,那么我们将他依次左移到最高位,然后进行与运算,然后判断是否为0然后依次打印判断后的结果即可,那么如下则是我们的代码实现:

#include<iostream>
using namespace std;
void Print(int a)
{for(int i=31;i>=0;i--){int ant=(1<<i)&a;if(ant==0){cout<<0;}else{cout<<1;} 	}cout<<endl;
}
int main()
{int a=80;Print(a);return 0;
}

在这里插入图片描述

**注意我们如果要打印一个long类型的数,那么我们首先得将我们的1移到最高位也就是第63位,但是我们编译器默认我们的1是int类型,所以直接移动会溢出,所以我们得将我们的1设置为long类型,在进行左移

4.结语

那么本文介绍了我们的位运算的前置知识,比如整形的原反补码,和相应的位运算,那么我们在根据今天所讲的内容自己实现了一个打印一个数的二进制序列,那么下一篇文章我会详解我们的异或运算的一些骚操作,那么我们会持续更新,希望你能够多多关照与支持,希望本篇文章能够让你有所收获!
在这里插入图片描述

相关文章:

位运算算法篇:进入位运算的世界

位运算算法篇&#xff1a;进入位运算的世界 本篇文章是我们位运算算法篇的第一章&#xff0c;那么在我们是算法世界中&#xff0c;有那么多重要以及有趣的算法&#xff0c;比如深度优先搜索算法以及BFS以及动态规划算法等等&#xff0c;那么我们位运算在这些算法面前相比&#…...

Heterogeneous Graph Attention Network(HAN)

HAN WWW19 分类&#xff1a;异构图神经网络 元路径 (图片地址&#xff1a;异构图注意力网络(3) HAN_哔哩哔哩_bilibili) ​​ 如图所示&#xff0c;假如异构图如上所示。那么&#xff0c;按照MAM和MDM就可以生成不同的子图。这样&#xff0c;就可以生成MAM与MDM的一阶邻居…...

重学SpringBoot3-Spring WebFlux之SSE服务器发送事件

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞??收藏评论 Spring WebFlux之SSE服务器发送事件 1. 什么是 SSE&#xff1f;2. Spring Boot 3 响应式编程与 SSE 为什么选择响应式编程实现 SSE&#xff1f; 3. 实现 SSE 的基本步骤 3.1 创建 Spr…...

Java中实现定时锁屏的功能(可以指定时间执行)

Java中实现定时锁屏的功能&#xff08;可以指定时间执行&#xff09; 要在Java中实现定时锁屏的功能&#xff0c;可以使用java.util.Timer或java.util.concurrent.ScheduledExecutorService来调度任务&#xff0c;并通过调用操作系统的命令来执行锁屏。下面我将给出一个基本的…...

工作案例 - python绘制excell表中RSRP列的CDF图

什么是CDF图 CDF&#xff08;Cumulative Distribution Function&#xff09;就是累积分布函数&#xff0c;是概率密度函数的积分。CDF函数是一个在0到1之间的函数&#xff0c;描述了随机变量小于或等于一个特定值的概率。在可视化方面&#xff0c;CDF图表明了一个随机变量X小于…...

推理大模型DeepSeek迅速觉醒

随着人工智能技术的快速发展&#xff0c;DeepSeek作为一种创新的技术工具&#xff0c;正在重塑行业格局。本文将深入分析如何把握这一波由DeepSeek带来的流量红利&#xff0c;揭示其在市场洞察、技术创新和用户需求中的潜在机会&#xff0c;并提供实用策略帮助个人或企业快速融…...

Ubuntu22.04部署deepseek大模型

Ollama 官方版 Ollama 官方版: https://ollama.com/ 若你的显卡是在Linux上面 可以使用如下命令安装 curl -fsSL https://ollama.com/install.sh | shollama命令查看 rootheyu-virtual-machine:~# ollama -h Large language model runnerUsage:ollama [flags]ollama [comman…...

redis的数据结构介绍(string

redis是键值数据库&#xff0c;key一般是string类型&#xff0c;value的类型很多 string&#xff0c;hash&#xff0c;list&#xff0c;set&#xff0c;sortedset&#xff0c;geo&#xff0c;bitmap&#xff0c;hyperlog redis常用通用命令&#xff1a; keys&#xff1a; …...

QUIC 与 UDP 关系

QUIC协议是建立在UDP之上的,这意味着QUIC的数据包实际上是通过UDP传输的。QUIC的设计使其能够利用UDP的特性,同时在其上实现更复杂的功能。以下是QUIC如何体现出其基于UDP的特性,以及QUIC头部字段的详细介绍。 QUIC与UDP的关系 UDP封装:QUIC数据包被封装在UDP数据包中进行…...

webview_flutter的使用

目录 步骤示例代码 步骤 1.配置依赖。根目录下运行如下命令&#xff1a; flutter pub add webview_flutter 2.所需页面导入&#xff1a; import ‘package:webview_flutter/webview_flutter.dart’; 3.初始化WebViewController overridevoid initState() {super.initState();…...

Centos执行yum命令报错

错误描述 错误&#xff1a;为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: Curl error (6): Couldn’t resolve host name for http://mirrorlist.centos.org/?release8&archx86_64&repoAppStream&infrastock [Could not resolve h…...

aio-pika 快速上手(Python 异步 RabbitMQ 客户端)

目录 简介官方文档如何使用 简介 aio-pika 是一个 Python 异步 RabbitMQ 客户端。5.0.0 以前 aio-pika 基于 pika 进行封装&#xff0c;5.0.0 及以后使用 aiormq 进行封装。 https://github.com/mosquito/aio-pikahttps://pypi.org/project/aio-pika/ pip install aio-pika官…...

AI安全最佳实践:AI应用开发安全评估矩阵(上)

生成式AI开发安全范围矩阵简介 生成式AI目前可以说是当下最热门的技术&#xff0c;吸引各大全球企业的关注&#xff0c;并在全球各行各业中带来浪潮般的编个。随时AI能力的飞跃&#xff0c;大语言模型LLM参数达到千亿级别&#xff0c;它和Transformer神经网络共同驱动了我们工…...

疯狂前端面试题(二)

一、Webpack的理解 Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。Webpack 能够将各种资源&#xff08;JavaScript、CSS、图片、字体等&#xff09;视为模块&#xff0c;并通过依赖关系图将这些模块打包成一个或多个最终的输出文件&#xff08;通常是一个或几个…...

深入探究 C++17 std::is_invocable

文章目录 一、引言二、std::is_invocable 概述代码示例输出结果 三、std::is_invocable 的工作原理简化实现示例 四、std::is_invocable 的相关变体1. std::is_invocable_r2. std::is_nothrow_invocable 和 std::is_nothrow_invocable_r 五、使用场景1. 模板元编程2. 泛型算法 …...

【R语言】卡方检验

一、定义 卡方检验是用来检验样本观测次数与理论或总体次数之间差异性的推断性统计方法&#xff0c;其原理是比较观测值与理论值之间的差异。两者之间的差异越小&#xff0c;检验的结果越不容易达到显著水平&#xff1b;反之&#xff0c;检验结果越可能达到显著水平。 二、用…...

DeepSeek LLM 论文解读:相信长期主义开源理念可扩展大语言模型(DeepSeek 吹响通用人工智能的号角)

论文链接&#xff1a;DeepSeek LLM: Scaling Open-Source Language Models with Longtermism&#xff08;相信长期主义开源理念可扩展大语言模型&#xff09; 目录 摘要一、数据处理&#xff08;一&#xff09;数据清洗与丰富&#xff08;二&#xff09;分词器与词汇设置 二、模…...

指针基础知识2

1. 指针运算 1.1 指针 - 整数 以数组举例&#xff1a;因为数组在内存中是连续存放的&#xff0c;只要知道第⼀个元素的地址&#xff0c;顺藤摸瓜就能找到后面的所有元素。这时就会用到指针加减整数。 1.2指针-指针 指针 - 指针可以得到两个指针之间的数据个数。但是&#xf…...

nginx的4层和7层配置证书

4层证书代理 # 定义上游服务器组 stream {upstream tcp-25510 {hash $remote_addr consistent;server ip:5510;}# 配置监听 25510 端口的服务器块server {listen 25510 ssl; # 监听 25510 端口并启用 SSL# 指定 SSL 证书和私钥ssl_certificate /etc/nginx/key/bundle.crt;ssl…...

【大数据技术】搭建完全分布式高可用大数据集群(Flume)

搭建完全分布式高可用大数据集群(Flume) apache-flume-1.11.0-bin.tar.gz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群 Flume 的详细步骤。 注意: 统一约定将软件安装包存放于虚拟机的/software目录下,软件安装至/opt目…...

C++ 顺序表

顺序表的操作有以下&#xff1a; 1 顺序表的元素插入 给定一个索引和元素&#xff0c;这个位置往后的元素位置都要往后移动一次&#xff0c;元素插入的步骤有以下几步 &#xff08;1&#xff09;判断插入的位置是否合法&#xff0c;如果不合法则抛出异常 &#xff08;2&…...

Python----Python高级(网络编程:网络基础:发展历程,IP地址,MAC地址,域名,端口,子网掩码,网关,URL,DHCP,交换机)

一、网络 早期的计算机程序都是在本机上运行的&#xff0c;数据存储和处理都在同一台机器上完成。随着技术的发展&#xff0c;人 们开始有了让计算机之间相互通信的需求。例如安装在个人计算机上的计算器或记事本应用&#xff0c;其运行环 境仅限于个人计算机内部。这种设置虽然…...

Spring Boot 的问题:“由于无须配置,报错时很难定位”,该怎么解决?

Spring Boot 的 "由于无须配置&#xff0c;报错时很难定位" 主要指的是&#xff1a; 传统 Spring 框架 需要大量 XML 或 Java 配置&#xff0c;开发者对应用的组件、Bean 加载情况有清晰的控制&#xff0c;出错时可以从配置入手排查。Spring Boot 采用自动配置&…...

基于javaweb的SpringBoot小区智慧园区管理系统(源码+文档+部署讲解)

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 运行环境开发工具适用功能说明 运行环境 Java≥8、MySQL≥5.7、Node.js≥14 开发工具 后端&#xff1a;eclipse/idea/myeclipse…...

一文解释nn、nn.Module与nn.functional的用法与区别

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;零基础入门PyTorch框架_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 …...

vscode安装ESP-IDF

引言 ESP-IDF&#xff08;Espressif IoT Development Framework&#xff09;是乐鑫官方为其 ESP32、ESP32-S 系列等芯片提供的物联网开发框架。结合 Visual Studio Code&#xff08;VSCode&#xff09;这一强大的开源代码编辑器&#xff0c;能极大提升开发效率。本教程将详细介…...

springboot配置https

注意&#xff1a; 此配置只能本地环境或测试环境使用&#xff0c;生产环境使用https&#xff0c;应该配置nginx&#xff01;请参考&#xff1a;使用certbot给nginx配置https-CSDN博客 1. 生成证书 使用JDK的keytool命令生成证书 注意&#xff1a;JDK版本需要和项目的JDK版本一…...

数据库的关系代数

关系就是表 属性&#xff08;Attribute&#xff09;是关系中的列.例如&#xff0c;关系 “学生” 中可能有属性 “学号”、“姓名”、“班级”。 元组(Tuple)是关系中的一行数据 1. 基本运算符 选择&#xff08;Selection&#xff09; 符号&#xff1a;σ 作用&#xff1a;从关…...

【服务器知识】如何在linux系统上搭建一个nfs

文章目录 NFS网络系统搭建**1. 准备工作****2. 服务器端配置****(1) 安装 NFS 服务****(2) 创建共享目录****(3) 配置共享规则****(4) 生效配置并启动服务****(5) 防火墙配置** **3. 客户端配置****(1) 安装 NFS 客户端工具****(2) 创建本地挂载点****(3) 挂载 NFS 共享目录***…...

【学习总结|DAY037】Linux 项目部署

引言 在当今的软件开发领域&#xff0c;Linux 以其安全、稳定、免费且开源的特性&#xff0c;成为项目部署的首选操作系统。无论是 Java 项目&#xff0c;还是各类开发、测试、生产环境中的软件安装&#xff0c;Linux 都占据着重要地位。本文将结合我今天所学内容&#xff0c;…...

【算法】动态规划专题⑧ —— 分组背包问题 python

目录 前置知识进入正题实战演练总结 前置知识 【算法】动态规划专题⑤ —— 0-1背包问题 滚动数组优化 python 进入正题 分组背包问题的详细解析 1. 问题定义 在 分组背包问题 中&#xff0c;物品被划分为若干组&#xff0c;每组内的物品 互斥&#xff08;只能选择其中一个或…...

数据结构:算法复杂度

前言 数据结构&#xff08;Data Structure&#xff09;是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素的集合。没有一种单一的数据结构对所有用途都有用&#xff0c;所以我们要学各式各样的数据结构&#xff0c;如&#xff1a;线性表、树…...

Mac本地体验LM studio

博主很懒&#xff0c;不爱打字&#xff01; 1、LM studio官网&#xff1a;LM Studio - Discover, download, and run local LLMs 2、下载DMG文件&#xff0c;安装 3、使用vscode工具&#xff0c;commandshiftH【全局替换功能】&#xff0c;选择目录/Applications/LM\ Studio…...

【EPSG 坐标系系统完全解析(一)(8000 字终极指南)】

EPSG 坐标系系统完全解析&#xff08;8000 字终极指南&#xff09; 一、EPSG 的起源与定义&#xff08;1200 字&#xff09; 1.1 石油工业催生的标准 行业需求&#xff1a;20 世纪 80 年代石油勘探需要统一坐标参考成立过程&#xff1a; 1985 年欧洲石油公司成立 EPSG 工作组…...

【C++高并发服务器WebServer】-13:多线程服务器开发

本文目录 一、多线程服务器开发二、TCP状态转换三、端口复用 一、多线程服务器开发 服务端代码如下。 #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <pthread.h>s…...

【CubeMX-HAL库】STM32F407—无刷电机学习笔记

目录 简介&#xff1a; 学习资料&#xff1a; 跳转目录&#xff1a; 一、工程创建 二、板载LED 三、用户按键 四、蜂鸣器 1.完整IO控制代码 五、TFT彩屏驱动 六、ADC多通道 1.通道确认 2.CubeMX配置 ①开启对应的ADC通道 ②选择规则组通道 ③开启DMA ④开启ADC…...

mysql8 sql语法错误,错误信息是怎么通过网络发送给客户端的,C++源码展示

在 MySQL 8 中&#xff0c;错误信息通过网络发送给客户端的过程涉及多个步骤&#xff0c;主要包括错误信息的生成、格式化、以及通过网络协议&#xff08;如 TCP/IP&#xff09;将错误信息发送给客户端。以下是详细的流程和相关代码分析&#xff1a; 1. 错误信息的生成 当 My…...

人工智能D* Lite 算法-动态障碍物处理、多步预测和启发式函数优化

在智能驾驶领域&#xff0c;D* Lite 算法是一种高效的动态路径规划算法&#xff0c;适用于处理环境变化时的路径重规划问题。以下将为你展示 D* Lite 算法的高级用法&#xff0c;包含动态障碍物处理、多步预测和启发式函数优化等方面的代码实现。 代码实现 import heapq impo…...

【学术投稿】第五届计算机网络安全与软件工程(CNSSE 2025)

重要信息 官网&#xff1a;www.cnsse.org 时间&#xff1a;2025年2月21-23日 地点&#xff1a;中国-青岛 简介 第五届计算机网络安全与软件工程&#xff08;CNSSE 2025&#xff09;将于2025年2月21-23日在中国-青岛举行。CNSSE 2025专注于计算机网络安全、软件工程、信号处…...

spring学习(spring 配置文件详解)

一 了解如何创建基本的spring 配置文件 步骤 1 导入 spring-context 依赖 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context&l…...

创建一个javaWeb Project

文章目录 前言一、eclipse创建web工程二、web.xmlservlet.xml< mvc:annotation-driven/ > Spring MVC 驱动< context:component - scan >&#xff1a;扫描< bean > ... < /bean >< import > config/beans.xml beans.xmlmybatis.xml 前言 javaWe…...

大模型推理——MLA实现方案

1.整体流程 先上一张图来整体理解下MLA的计算过程 2.实现代码 import math import torch import torch.nn as nn# rms归一化 class RMSNorm(nn.Module):""""""def __init__(self, hidden_size, eps1e-6):super().__init__()self.weight nn.Pa…...

洛谷网站: P3029 [USACO11NOV] Cow Lineup S 题解

题目传送门&#xff1a; P3029 [USACO11NOV] Cow Lineup S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前言&#xff1a; 这道题的核心问题是在一条直线上分布着不同品种的牛&#xff0c;要找出一个连续区间&#xff0c;使得这个区间内包含所有不同品种的牛&#xff0c;…...

DeepSeek-R1 云环境搭建部署流程

DeepSeek横空出世&#xff0c;在国际AI圈备受关注&#xff0c;作为个人开发者&#xff0c;AI的应用可以有效地提高个人开发效率。除此之外&#xff0c;DeepSeek的思考过程、思考能力是开放的&#xff0c;这对我们对结果调优有很好的帮助效果。 DeepSeek是一个基于人工智能技术…...

【Go语言快速上手】第二部分:Go语言进阶

文章目录 并发编程goroutine&#xff1a;创建和调度 goroutinechannel&#xff1a;无缓冲 channel、有缓冲 channel、select 语句无缓冲 channel有缓冲 channelselect 语句 sync 包&#xff1a;Mutex、RWMutex、WaitGroup 等同步原语Mutex&#xff1a;互斥锁RWMutex&#xff1a…...

自定义多功能输入对话框:基于 Qt 打造灵活交互界面

一、引言 在使用 Qt 进行应用程序开发时&#xff0c;我们经常需要与用户进行交互&#xff0c;获取他们输入的各种信息。QInputDialog 是 Qt 提供的一个便捷工具&#xff0c;可用于简单的输入场景&#xff0c;但当需求变得复杂&#xff0c;需要支持更多类型的输入控件&#xff0…...

计算机毕业设计SparkStreaming+Kafka广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数据毕业设计 深度学习 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

企业FTP替代升级,实现传输大文件提升100倍!

随着信息技术的飞速发展&#xff0c;网络安全环境也变得越来越复杂。在这种背景下&#xff0c;传统的FTP&#xff08;文件传输协议&#xff09;已经很难满足现代企业对文件传输的需求了。FTP虽然用起来简单&#xff0c;但它的局限性和安全漏洞让它在面对高效、安全的数据交换时…...

盘姬工具箱:完全免费的电脑工具箱

今天给大家介绍一个非常好用的系统工具箱&#xff0c;里面内含100多个工具&#xff0c;完全免费使用&#xff0c;而且没有广告&#xff0c;非常的棒。 盘姬工具箱&#xff1a;完全免费的电脑工具箱 盘姬工具箱是一款完全免费的电脑工具箱&#xff0c;功能丰富且实用。软件下载并…...

【个人开发】macbook m1 Lora微调qwen大模型

本项目参考网上各类教程整理而成&#xff0c;为个人学习记录。 项目github源码地址&#xff1a;Lora微调大模型 项目中微调模型为&#xff1a;qwen/Qwen1.5-4B-Chat。 去年新发布的Qwen/Qwen2.5-3B-Instruct同样也适用。 微调步骤 step0: 环境准备 conda create --name fin…...