1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/// <summary>
/// 数値(uint型)の中で指定した領域(bit単位)の値を抽出します。
/// </summary>
/// <param name="value">対象とする数値</param>
/// <param name="startBit">開始位置(1~32)</param>
/// <param name="length">長さ</param>
/// <returns>bit単位で指定した範囲の値</returns>
public uint GetBitRangeUInt32(uint value, int startBit, int length)
{
uint val = GetBitRangeOnePadding(startBit, length);
val &= value;
return val;
}
public void Test()
{
uint r = 117;
r = GetBitRangeUInt32(r, 3, 4);
Console.WriteLine(Convert.ToString(r, 2).PadLeft(8, '0'));
Console.WriteLine(r.ToString());
}
|