C语言进阶--回顾(03)

发布时间:2026/10/2 12:58:33

C语言进阶--回顾(03) 第三篇目录3.4移位操作符3.4.1左移操作符3.4.2右移操作符3.5 位操作符3.5.1 3.5.2 |3.5.2 ~3.5.4 ^3.5.5 练习3.5.6 练习23.5.7 练习33.5.8模拟权限控制实现3.4移位操作符3.4.1左移操作符a左移相当于将二进制数的补码所有数左移一位在右边补上0大小原数*2b左移不能太多以免溢出丢失数据c左移28位d不难发现如果再左移一位数据就会溢出最后得到数据大小为原数据*2-存储的最大数eunsigned int一共32字节也就是2的32次方将原数*2减去2的32次方得到左移后的数3.4.2右移操作符代码实例a要注意的是右移操作符分为逻辑右移和算数右移对于不同类型的数据需要不同的操作a对于左移和右移最好使用无符号类型有符号类型可能因为操作而发生错误b负数左右移都是无定义的操作3.5 位操作符a这四种位操作符的效果必须记住尽管确实难记b操作符操作的对象都是补码c操作以后得到的都是一个二进制数3.5.1 a对两个数的补码同位置上有0为0都是1的时候才为13.5.2 |a|和相反有1为1同0为03.5.2 ~a按位取反所有二进制位上的数0变11变03.5.4 ^a相同为0不同为1打印3.5.5 练习a我们知道完成两个整数的交换一般要创建第三个变量接收一个变量的值最后传入但是有没有方法直接实现两个整数的交换呢例如b虽然代码没什么问题但是如果存在ab较大ab超过了最大数据就会发生溢出于是就有了c分析发现1通过交换律得知对b相当于赋给它a^b^b即a^0a;(2)同理给aa^b^ab^0b,完成交换3.5.6 练习2a方法1是有点像使用右移操作符每次右移一个字节右移后如果最右边的一位为1使计数移动32位则判定完32位的1的数量但是像右移操作符一样遇到负数失效b方法2使用1的补码持续左移由于同1才为1而1只有1位比特位的数字为1对应的如果跟它判定的数字这一位也为1那数字正好0;反之则是返回0返回正数时使计数1同时每次使1左移一位达成对整个补码的扫描但是循环32次效率底c方法三原理如下d通过n与n-1特殊的关系能排查有多少1e同上n(n-1)得到最后一位是1或0最后为0且不为0的数为2的幂次方数3.5.7 练习3代码如下a先将1移动到指定位置使用|就可以保留原数的其他位数对指定位置进行操作若本身为1则还是为1为0改为1b改0同理3.5.8模拟权限控制实现a过程不过多赘述基本跟之前的雷同仅需知道能实现这个功能即可
延伸阅读

更多相关文章

2026/10/2 12:58:33

漫剧台词贴合分镜的逐镜写法对照实例与量化基准

有哪些具体的例子可以说明漫剧台词贴合分镜的创作方法?核心原则是先定分镜画面、景别和时长,再写台词,让台词长度和情绪完全匹配画面信息量。特种猫平台上的实操案例显示,创作者最常踩的坑有4个:特写镜头塞长台词导致字…

2026/10/2 12:58:33

单视频三维重构在口岸、港区突发事件平战切换中的应用

摘要口岸与港区作为跨境物流、人员通关、货物集散的核心枢纽,具备平战状态差异大、作业要素密集、多部门联动复杂、风险跨界耦合、应急容错率极低的典型特征。常态运维阶段,港区以通关查验、船舶靠泊、货物装卸、车流人流疏导为核心,追求高效…

2026/10/2 12:53:33

Python人脸识别实操指南:从OpenCV到边缘部署的5个落地方案

人脸识别技术本质上是让计算机通过面部特征区分个体。它通过提取眼睛、鼻子、嘴巴的相对位置等面部特征点,将其转化为数学向量进行身份比对。从技术演进来看,2014年Facebook研究团队发表了DeepFace论文,通过构建包含400万张人脸图像的数据集训…

2026/10/2 13:58:37

Token命中率:LLM推理的“隐形加速器”

一、Token命中率到底是什么?1.1 从KV Cache说起LLM以自回归方式生成文本:每生成一个新Token,都需要“回头看”前面所有Token的Key和Value张量来计算注意力。如果每次生成都重新计算全部历史Token的K/V,计算量会随序列长度线性增长…

2026/10/2 13:58:37

(132页PPT)精益生产现场管理和改善(附下载方式)

篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 https://download.csdn.net/download/AI_data_cloud/88338604 资料解读:精益生产现场管理和改善 详细资料请看本解读文章的最后内容。 这份精益生产现场管理与改善的专业资料&#…

2026/10/2 13:53:36

【第2 章】WorkBuddy 从入门到高手

WorkBuddy 从入门到高手(第 2章):核心能力,办公六件套全拆解(超详细案例版) 这是一套面向「完全没用过 WorkBuddy」读者的系统学习路线,总共 7 章。本文是第 3 章。 系列目录:第 0 章…

2026/10/2 8:16:46

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/1 17:09:46

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/2 0:02:57

PWN入门:从栈溢出原理到ROP链实战

1. 这不是“学PWN”,是重新理解你每天敲的每一行C代码我第一次在CTF赛场上写出能控制程序流的exp时,手抖得连gdb的c命令都输错三次。那道题只有23行C代码,一个gets()调用,一个printf(),一个return——它甚至没开NX&…

2026/10/2 0:02:57

Windows下cudaMallocHost显存占用之谜:WDDM与TCC模式差异及优化方案

1. 一个反直觉的显存占用现象第一次在 Windows 上看到cudaMallocHost把显存吃掉的时候,我的反应是打开任务管理器反复确认了三遍。明明调用的是主机端锁页内存分配,按 CUDA 文档的说法,这块内存应该落在系统 RAM 里,跟 GPU 的显存…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑