博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#按位操作,直接操作INT数据类型的某一位
阅读量:5322 次
发布时间:2019-06-14

本文共 1539 字,大约阅读时间需要 5 分钟。

1 ///  2         /// 根据Int类型的值,返回用1或0(对应True或Flase)填充的数组 3         /// 
从右侧开始向左索引(0~31)
4 ///
5 /// 6 ///
7 public static IEnumerable
GetBitList(int value) 8 { 9 var list = new List
(32);10 for (var i = 0; i <= 31; i++)11 {12 var val = 1 << i;13 list.Add((value & val) == val);14 }15 return list;16 }17 18 ///
19 /// 返回Int数据中某一位是否为120 /// 21 ///
22 ///
32位数据的从右向左的偏移位索引(0~31)23 ///
true表示该位为1,false表示该位为0
24 public static bool GetBitValue(int value, ushort index)25 {26 if (index > 31) throw new ArgumentOutOfRangeException("index"); //索引出错27 var val = 1 <
32 /// 设定Int数据中某一位的值33 /// 34 ///
位设定前的值35 ///
32位数据的从右向左的偏移位索引(0~31)36 ///
true设该位为1,false设为037 ///
返回位设定后的值
38 public static int SetBitValue(int value, ushort index, bool bitValue)39 {40 if (index > 31) throw new ArgumentOutOfRangeException("index"); //索引出错41 var val = 1 << index;42 return bitValue ? (value | val) : (value & ~val);43 }

2013-11-7优化了一下

接位操作,直接操作INT数据类型的某一位

32位INT用到31天的每个月,很强大哟。嘿嘿~~~~~具体作用,就看人和项目需求了。

转载于:https://www.cnblogs.com/atwind/p/3410098.html

你可能感兴趣的文章
CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
查看>>
第六次java作业
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
Jenkins执行批处理文件失败
查看>>
深入理解jQuery框架-框架结构
查看>>
[7.14NOIP模拟4]通讯 题解 (Tarjan缩点+贪心)
查看>>
YUI3自动加载树实现
查看>>
python知识思维导图
查看>>
当心JavaScript奇葩的逗号表达式
查看>>
App Store最新审核指南(2015年3月更新版)
查看>>
织梦MIP文章内容页图片适配百度MIP规范
查看>>
点击复制插件clipboard.js
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
C语言学习总结(三) 复杂类型
查看>>
HNOI2018
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>