新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/10/2 12:58:28来源:尧图网络
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过程不过多赘述基本跟之前的雷同仅需知道能实现这个功能即可
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Vue3入门实战:从Composition API到工程化避坑指南 2026/10/2 15:29:53

Vue3入门实战:从Composition API到工程化避坑指南

1. 核心思路与整体设计Vue3入门,这个题目咱们今天必须认真聊一聊。前面几章如果你是从头跟过来的,对Vue的基础玩法应该已经有了手感;从这儿开始,所有代码会慢慢换成Vue3的组合式风格。可以说Vue3不是一次简单的版本号升级&#xf…

阅读更多 →
基于大模型能力的AI研报生成:从思维链到事实核查 2026/10/2 15:29:52

基于大模型能力的AI研报生成:从思维链到事实核查

前两天刷到一份关于AI产业的长文,数据密度高、逻辑链完整、观点也有层次,我读完习惯性回头看了一眼作者栏,结果发现:这份研报出自AI。不是标题党,也不是营销号,是一篇真正意义上能直接拿来当决策参考的研究…

阅读更多 →
C语言函数进阶:变量作用域、生命周期与存储类型详解 2026/10/2 15:29:45

C语言函数进阶:变量作用域、生命周期与存储类型详解

很多学C语言的人,写函数的语法并不难,真正卡住人的往往是函数之外那几个概念:变量作用域、生命周期、储存类型。我也经历过那个阶段:自己能写加减乘除的函数,程序也能跑,但别人问我"这个全局变量在别的…

阅读更多 →
Unity/Cocos五种描边方案实战对比:精度、性能与跨引擎适配 2026/10/2 15:29:44

Unity/Cocos五种描边方案实战对比:精度、性能与跨引擎适配

1. 项目概述:为什么五种描边方法值得你花一整天去拆解在游戏开发、UI动效、三维可视化甚至数据可视化场景里,“描边”从来不是个可有可无的装饰功能——它是视觉层级的锚点,是用户注意力的牵引线,是模型轮廓在复杂光照下的最后防线…

阅读更多 →
二进制文件查看与解析实战:十六进制、字节序与结构化定位 2026/10/2 15:29:43

二进制文件查看与解析实战:十六进制、字节序与结构化定位

二进制文件这东西,第一次打交道的人多半是被逼的。要么是下载下来的资源打不开,要么是程序读出来的数据对不上,要么是排查一个通信问题时发现抓到的东西根本不是给人看的。我最早也是这个路子——同事发来一个几百 KB 的文件,说&q…

阅读更多 →
爬虫解析HTML:正则表达式与XPath实战指南 2026/10/2 15:29:42

爬虫解析HTML:正则表达式与XPath实战指南

之前有朋友问我,爬虫拿到HTML之后,怎么把里面的标题、链接、价格一行一行抠出来?我第一反应就是:你还没吃透正则表达式和XPath。这两个工具是解析网页最基础、也最实用的手段。很多人一开始觉得“正则表达式很难”“XPath是不是要…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉