c#设置或者获取byte(字节、8位二进制整数)某位的的值的代码
来源:互联网 发布:中国移动网络电视设置 编辑:程序博客网 时间:2024/05/20 13:37
代码 #region 获取整数的某一位,设置整数的某一位 /// <summary> /// 取整数的某一位 /// </summary> /// <param name="_Resource">要取某一位的整数</param> /// <param name="_Mask">要取的位置索引,自右至左为0-7</param> /// <returns>返回某一位的值(0或者1)</returns> public static int getIntegerSomeBit(int _Resource, int _Mask) { return _Resource >> _Mask & 1; } /// <summary> /// 将整数的某位置为0或1 /// </summary> /// <param name="_Mask">整数的某位</param> /// <param name="a">整数</param> /// <param name="flag">是否置1,TURE表示置1,FALSE表示置0</param> /// <returns>返回修改过的值</returns> public static int setIntegerSomeBit(int _Mask, int a, bool flag) { if (flag) { a |= (0x1 << _Mask); } else { a &= ~(0x1 << _Mask); } return a; }#endregion
另外,还可以使用BitArray这个类,如下演示了BitArray的用法
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;namespace Hash{ class Program { static void Main(string[] args) { byte a = 5; BitArray myBit1 = new BitArray(a);//5个字位,初始化为false //myBit1为5位,取用默认初始化,5位都为 False。即为0,由此可见,平时一位的值0和1在C#里面变成False和True; myBit1[0] = true; myBit1[1] = true; Console.Write("my Bit1 Count:{0},length:{1},值如下:\n", myBit1.Count, myBit1.Length); PrintValues(myBit1, 8);//每8个元素为一行打印元素 byte [] myByte1 = new byte[] { 1, 2, 3, 4, 5 };//字节数组,byte为0-255的类型 BitArray myBit2 = new BitArray(myByte1); //使用myByte1初始化myBit2;共有5*8个字节位; //myByte2为byte数组,内容为1,2,3,4,5;二进制就是00000001,00000010,00000011,00000100,00000101,myBA3就为相应的5*8=40位 //在myByte2中数字按照二进制数从右到左存取 Console.Write("my Bit2 Count:{0},length:{1},值如下:\n", myBit2.Count, myBit2.Length); PrintValues(myBit2, 8);//每8个元素为一行打印元素 bool[] myBools = new bool[5] { true, false, true, true, false }; BitArray myBA4 = new BitArray(myBools); //看输出,bool就想当于一位,myBools是长度为5的数组,变成myBA4后,也是5位; Console.Write("myBA4 Count:{0},length:{1},值如下:\n", myBA4.Count, myBA4.Length); PrintValues(myBA4, 8);//每8个元素为一行打印元素 int[] myInts = new int[5] { 6, 7, 8, 9, 10 }; BitArray myBA5 = new BitArray( myInts ); //int是32位的,5个,换成BitArray当然就是5*32=160。 Console.Write("myBA5 Count:{0},length:{1},值如下:\n", myBA5.Count, myBA5.Length); PrintValues(myBA5, 8);//每8个元素为一行打印元素 Console.ReadKey(); } public static void PrintValues(IEnumerable myList, int myWidth) //myWidth指定每行显示的个数 { int i = myWidth; foreach (Object obj in myList) //迭代一列数 { if (i <= 0) { i = myWidth; Console.WriteLine(); } i--; Console.Write("{0,7}", obj);//显示第0个数据obj,占7个符号的位置 } Console.WriteLine(); } }}
- c#设置或者获取byte(字节、8位二进制整数)某位的的值的代码
- c#设置或者获取byte(字节、8位二进制整数)某位的的值的代码
- 获得字节二进制的某位值
- 【C++】位操作(3)-获取某位的值
- 【C++】位应用(2)-设置某位的值
- C# 设置和获取一个字节的某一位的值的方法
- C# 设置和获取一个字节的某一位的值的方法
- C# 设置和获取一个字节的某一位的值的方法 .
- 把一个int()或者byte(字节)以二进制的形式打印出来
- c#转换整数位二进制形式,并统计其中二进制的值
- 获取和设置一个值的二进制第n位.
- 设置整数的某一位为1或者为0
- 二进制Binary、十进制Decimal、十六进制Hex、字节byte,位bit的转化
- 获取某值的具体某位
- bit、byte、位、字节、汉字的关系
- bit、byte、位、字节、汉字的关系
- 位bit 字节byte的关系解释
- 位bit 字节byte的关系解释
- GPS通讯协议(NMEA0183)协议解析
- 国际市场产品分析手段--Hidden Market Research on Ebay, Amazon, and Others
- [流媒体]Android 实时视频编码—H.264硬编码
- js无缝图片滚动
- eclipse常见问题及解决
- c#设置或者获取byte(字节、8位二进制整数)某位的的值的代码
- SWT:下拉组合框
- 解决 无法编译servlet类问题
- 带宽不应是云计算发展的颈瓶
- wsdl2java:参数解释
- 吐槽SWIFT
- eBay商家五大市场调研工具
- tcp socket的发送与接收缓冲区
- java 知识积累