关于索引器

YUHUI01 2017-11-14 03:36:37
在下面的索引器中,最后一句代码是什么意思?有什么作用?
get
{
return (bits & (1 << index)) != 0;
}
set
{
if(value)
{
bits |= (1 << index);
}
else
{
bits &= ~(1 << index); //??????
}

就是这句(bits &= ~(1 << index);),不是很懂,请求大神帮忙解答一下
...全文
206 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-11-15
  • 打赏
  • 举报
回复
if(value) { bits |= (1 << index); 如果 value为真,则对 bit 的 inde 位置位(由 0 变为 1) } else { bits &= ~(1 << index); //否则 bit 的 inde 位复位(由 1 变为 0) } 既然你对位运算并不陌生,那你本来就该理解,并不需要我说明 至于为什么要这样做,那就要看上下文了 而 bits &= ~(1 << index); 这个表达式与是否是索引器并无直接的关系
正怒月神 2017-11-15
  • 打赏
  • 举报
回复
抱歉,我更正一下3楼的发言,我搞错了。& | 是非短路的。前后还是会执行的。 &&和||是短路运算符。
正怒月神 2017-11-15
  • 打赏
  • 举报
回复
引用 6 楼 YUHUI01 的回复:
位运算我会,如果我没错的话,你最后一句说错了,X|Y,只要X为true,后面的才不看 我不懂的是,我给出的代码最后一句算出来的结果对索引器有什么用
抱歉,最后一句,我没说清楚,这个情况是在说x & y。 主说最后一句的具体意思。我觉得你应该给出上下文在看
YUHUI01 2017-11-15
  • 打赏
  • 举报
回复
引用 3 楼 hanjun0612 的回复:
这个你要看一下 位运算符了。 1 ~ 运算符对操作数执行按位求补运算,其效果相当于反转每一位 2 左移运算符 (<<) 将第一个操作数向左移动第二个操作数指定的位数 3 使用 &= 赋值运算符的表达式,例如 x &= y 等效于 x = x & y 4 使用 |= 赋值运算符的表达式,例如 x |= y 等效于 x = x | y x & y和 x|y 都是短路运算。就是 只要x为false,后面就不看了 具体看 https://msdn.microsoft.com/zh-cn/library/h5f1zzaw(v=vs.110).aspx
位运算我会,如果我没错的话,你最后一句说错了,X|Y,只要X为true,后面的才不看 我不懂的是,我给出的代码最后一句算出来的结果对索引器有什么用
YUHUI01 2017-11-15
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
表达式离开了语境,就什么都不是
我只是在学索引器 上面的是索引器的声明代码 下面是引用代码 int adadted = 126; IntBits bits = new IntBits(adapted); bool peek = bits[6]; bits[0] = true; bits[3] = false; 位 的运算我会,我知不知道算出来的else那段有什么用?
xuzuning 2017-11-14
  • 打赏
  • 举报
回复
表达式离开了语境,就什么都不是
正怒月神 2017-11-14
  • 打赏
  • 举报
回复
这个你要看一下 位运算符了。

1 ~ 运算符对操作数执行按位求补运算,其效果相当于反转每一位

2 左移运算符 (<<) 将第一个操作数向左移动第二个操作数指定的位数

3 使用 &= 赋值运算符的表达式,例如
x &= y
等效于
x = x & y

4 使用 |= 赋值运算符的表达式,例如
x |= y
等效于
x = x | y

x & y和 x|y 都是非短路运算。
具体看 https://msdn.microsoft.com/zh-cn/library/h5f1zzaw(v=vs.110).aspx
xuzuning 2017-11-14
  • 打赏
  • 举报
回复
上下文呢
真相重于对错 2017-11-14
  • 打赏
  • 举报
回复
msdn请查位运算
【顶级EI完美复现】电力系统碳排放流的计算方法【IEEE 14节点】(Matlab代码实现)内容概要:本文介绍了基于IEEE 14节点电力系统的碳排放流计算方法,并提供了Matlab代码实现,属于顶级EI期刊级别的研究成果复现。该方法通过建立电力系统中各节点的碳排放流动模型,结合潮流计算与电源出力特性,量化不同机组和线路的碳排放责任,进而实现对电力系统低碳运行的评估与优化。文中详细阐述了算法原理、数学模型构建及仿真步骤,适用于电力系统低碳化分析与碳足迹追踪研究。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及从事能源系统低碳化研究的专业技术人员,尤其适合致力于高水平论文复现与算法开发的研究者。; 使用场景及目标:①用于电力系统碳排放流的精确建模与可视化分析;②支撑“双碳”背景下电网低碳调度、绿色电力溯源与碳配额分配等应用场景;③为撰写高水平学术论文(如EI/SCI)提供可复现的技术路径与代码基础。; 阅读建议:建议读者结合IEEE 14节点系统标准数据,逐步运行并调试所提供的Matlab代码,深入理解碳流分配逻辑与矩阵运算实现方式,同时可拓展至其他节点系统以验证算法通用性。
基于STM32 F4的永磁同步电机无位置传感控制策略研究内容概要:本文围绕基于STM32 F4的永磁同步电机(PMSM)无位置传感控制策略展开研究,重点探讨在不依赖物理位置传感的情况下,如何通过算法实现对电机转子位置和速度的精确估计与控制。文中结合嵌入式开发平台STM32 F4,采用如滑模观测、扩展卡尔曼滤波或高频注入法等先进观测技术,实现对电机反电动势或磁链的估算,进而完成无传感矢量控制(FOC)。同时,研究涵盖系统建模、控制算法设计、仿真验证(可能使用Simulink)以及在STM32硬件平台上的代码实现与调试,旨在提高电机控制系统的可靠性、降低成本并增强环境适应性。; 适合人群:具备一定电力电子、自动控制理论基础和嵌入式开发经验的电气工程、自动化及相关专业的研究生、科研人员及从事电机驱动开发的工程师。; 使用场景及目标:①掌握永磁同步电机无位置传感控制的核心原理与实现方法;②学习如何在STM32平台上进行电机控制算法的移植与优化;③为开发高性能、低成本的电机驱动系统提供技术参考与实践指导。; 阅读建议:建议读者结合文中提到的控制理论、仿真模型与实际代码实现进行系统学习,有条件者应在实验平台上进行验证,重点关注观测设计、参数整定及系统稳定性分析等关键环节。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧