📄 myfunctions.cs
字号:
uint b = 0, mb = 0, tb = 0;
string ExpStr = "";
string ReturnStr = "";
int iii = 0, k = 0;
GroupLength = 8;
b = Value;
mb = Mask;
MyArray = new byte[ GroupLength * 4 ];
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
MyArray[ iii ] = 46;
if( ( b & mb ) > 0 ) ExpStr = TrueText;
else ExpStr = FalseText;
iii = 0;
tb = mb;
while( tb > 0 ) { iii ++; tb >>= 1; }
MyArray[ MyArray.GetLength(0) - iii ] = ( b & mb ) > 0 ? (byte) 49 : (byte) 48;
k = 0;
ReturnStr = "";
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
{
if( k == 3 )
{
ReturnStr += (char) MyArray[ iii ] + " ";
k = 0;
}
else
{
ReturnStr += (char) MyArray[ iii ];
k ++;
}
}
ReturnStr += "= " + ExpStr;
return ReturnStr;
}
public static string DecodeBitField( int Value , uint Mask , string TrueText , string FalseText )
{
return DecodeBitField( (uint) Value , Mask , TrueText , FalseText );
}
public static string DecodeBitField( int Value , int Mask , string TrueText , string FalseText )
{
return DecodeBitField( (uint) Value , (uint) Mask , TrueText , FalseText );
}
public static string DecodeBitField( uint Value , int Mask , string TrueText , string FalseText )
{
return DecodeBitField( (uint) Value , (uint) Mask , TrueText , FalseText );
}
public static string DecodeBitField( ulong Value , ulong Mask , string TrueText , string FalseText )
{
byte [] MyArray;
int GroupLength = 0;
ulong b = 0, mb = 0, tb = 0;
string ExpStr = "";
string ReturnStr = "";
int iii = 0, k = 0;
GroupLength = 16;
b = Value;
mb = Mask;
MyArray = new byte[ GroupLength * 4 ];
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
MyArray[ iii ] = 46;
if( ( b & mb ) > 0 ) ExpStr = TrueText;
else ExpStr = FalseText;
iii = 0;
tb = mb;
while( tb > 0 ) { iii ++; tb >>= 1; }
MyArray[ MyArray.GetLength(0) - iii ] = ( b & mb ) > 0 ? (byte) 49 : (byte) 48;
k = 0;
ReturnStr = "";
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
{
if( k == 3 )
{
ReturnStr += (char) MyArray[ iii ] + " ";
k = 0;
}
else
{
ReturnStr += (char) MyArray[ iii ];
k ++;
}
}
ReturnStr += "= " + ExpStr;
return ReturnStr;
}
public static string DecodeBitField( long Value , ulong Mask , string TrueText , string FalseText )
{
return DecodeBitField( (ulong) Value , Mask , TrueText , FalseText );
}
public static string DecodeBitField( long Value , long Mask , string TrueText , string FalseText )
{
return DecodeBitField( (ulong) Value , (ulong) Mask , TrueText , FalseText );
}
public static string DecodeBitField( ulong Value , long Mask , string TrueText , string FalseText )
{
return DecodeBitField( (ulong) Value , (ulong) Mask , TrueText , FalseText );
}
public static string DecodeBitField( byte Value , uint Mask , string ValueText )
{
byte [] MyArray;
int GroupLength = 0;
byte s = 0, ms = 0, ts = 0;
string ReturnStr = "";
int iii = 0, k = 0;
byte [] BitArray;
GroupLength = 2;
s = Value;
ms = (byte) Mask;
s &= ms;
BitArray = GetBytes( ms );
MyArray = new byte[ GroupLength * 4 ];
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
MyArray[ iii ] = 46;
iii = 0;
ts = ms;
for( iii = 0; iii < 8; iii ++ )
{
if( BitArray[iii] == 1 )
{
ts = (byte) ( 1 << iii );
if( ( ts & s ) > 0 )
MyArray[ iii ] = (byte) 49;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
else
MyArray[ iii ] = (byte) 48;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
}
}
k = 0;
ReturnStr = "";
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
{
if( k == 3 )
{
ReturnStr += (char) MyArray[ iii ] + " ";
k = 0;
}
else
{
ReturnStr += (char) MyArray[ iii ];
k ++;
}
}
ReturnStr += "= " + s.ToString();
ReturnStr += " ( " + ValueText + " )";
return ReturnStr;
}
public static string DecodeBitField( byte Value , int Mask , string ValueText )
{
return DecodeBitField( Value , (uint) Mask , ValueText );
}
public static string DecodeBitField( ushort Value , uint Mask , string ValueText )
{
byte [] MyArray;
int GroupLength = 0;
ushort s = 0, ms = 0, ts = 0;
string ReturnStr = "";
int iii = 0, k = 0;
byte [] BitArray;
GroupLength = 4;
s = Value;
ms = (ushort) Mask;
s &= ms;
BitArray = GetBytes( ms );
MyArray = new byte[ GroupLength * 4 ];
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
MyArray[ iii ] = 46;
iii = 0;
ts = ms;
for( iii = 0; iii < 16; iii ++ )
{
if( BitArray[iii] == 1 )
{
ts = (ushort) ( 1 << iii );
if( ( ts & s ) > 0 )
MyArray[ iii ] = (byte) 49;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
else
MyArray[ iii ] = (byte) 48;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
}
}
k = 0;
ReturnStr = "";
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
{
if( k == 3 )
{
ReturnStr += (char) MyArray[ iii ] + " ";
k = 0;
}
else
{
ReturnStr += (char) MyArray[ iii ];
k ++;
}
}
ReturnStr += "= " + s.ToString();
ReturnStr += " ( " + ValueText + " )";
return ReturnStr;
}
public static string DecodeBitField( short Value , uint Mask , string ValueText )
{
return DecodeBitField( (ushort) Value , Mask , ValueText );
}
public static string DecodeBitField( short Value , int Mask , string ValueText )
{
return DecodeBitField( (ushort) Value , (uint) Mask , ValueText );
}
public static string DecodeBitField( ushort Value , int Mask , string ValueText )
{
return DecodeBitField( Value , (uint) Mask , ValueText );
}
public static string DecodeBitField( uint Value , uint Mask , string ValueText )
{
byte [] MyArray;
int GroupLength = 0;
uint s = 0, ms = 0, ts = 0;
string ReturnStr = "";
int iii = 0, k = 0;
byte [] BitArray;
GroupLength = 8;
s = Value;
ms = Mask;
s &= ms;
BitArray = GetBytes( ms );
MyArray = new byte[ GroupLength * 4 ];
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
MyArray[ iii ] = 46;
iii = 0;
ts = ms;
for( iii = 0; iii < 32; iii ++ )
{
if( BitArray[iii] == 1 )
{
ts = (uint) ( 1 << iii );
if( ( ts & s ) > 0 )
MyArray[ iii ] = (byte) 49;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
else
MyArray[ iii ] = (byte) 48;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
}
}
k = 0;
ReturnStr = "";
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
{
if( k == 3 )
{
ReturnStr += (char) MyArray[ iii ] + " ";
k = 0;
}
else
{
ReturnStr += (char) MyArray[ iii ];
k ++;
}
}
ReturnStr += "= " + s.ToString();
ReturnStr += " ( " + ValueText + " )";
return ReturnStr;
}
public static string DecodeBitField( int Value , uint Mask , string ValueText )
{
return DecodeBitField( (uint) Value , Mask , ValueText );
}
public static string DecodeBitField( int Value , int Mask , string ValueText )
{
return DecodeBitField( (uint) Value , (uint) Mask , ValueText );
}
public static string DecodeBitField( uint Value , int Mask , string ValueText )
{
return DecodeBitField( Value , (uint) Mask , ValueText );
}
public static string DecodeBitField( ulong Value , ulong Mask , string ValueText )
{
byte [] MyArray;
int GroupLength = 0;
ulong s = 0, ms = 0, ts = 0;
string ReturnStr = "";
int iii = 0, k = 0;
byte [] BitArray;
GroupLength = 16;
s = Value;
ms = Mask;
s &= ms;
BitArray = GetBytes( ms );
MyArray = new byte[ GroupLength * 4 ];
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
MyArray[ iii ] = 46;
iii = 0;
ts = ms;
for( iii = 0; iii < 64; iii ++ )
{
if( BitArray[iii] == 1 )
{
ts = (ulong) ( 1 << iii );
if( ( ts & s ) > 0 )
MyArray[ iii ] = (byte) 49;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
else
MyArray[ iii ] = (byte) 48;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
}
}
k = 0;
ReturnStr = "";
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
{
if( k == 3 )
{
ReturnStr += (char) MyArray[ iii ] + " ";
k = 0;
}
else
{
ReturnStr += (char) MyArray[ iii ];
k ++;
}
}
ReturnStr += "= " + s.ToString();
ReturnStr += " ( " + ValueText + " )";
return ReturnStr;
}
public static string DecodeBitField( long Value , ulong Mask , string ValueText )
{
return DecodeBitField( (ulong) Value , Mask , ValueText );
}
public static string DecodeBitField( long Value , long Mask , string ValueText )
{
return DecodeBitField( (ulong) Value , (ulong) Mask , ValueText );
}
public static string DecodeBitField( ulong Value , long Mask , string ValueText )
{
return DecodeBitField( Value , (ulong) Mask , ValueText );
}
public static string DecodeBitField( byte Value , uint Mask , string [] ValueText )
{
byte [] MyArray;
int GroupLength = 0;
byte b = 0, mb = 0, tb = 0;
string ReturnStr = "";
int iii = 0, k = 0;
byte [] BitArray;
int ShiftCount = 0;
GroupLength = 2;
b = Value;
mb = ( byte ) Mask;
b &= mb;
k = (int) mb;
while( ( k & 0x1 ) == 0 )
{
ShiftCount ++;
k >>= 1;
}
BitArray = GetBytes( mb );
MyArray = new byte[ GroupLength * 4 ];
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
MyArray[ iii ] = 46;
iii = 0;
tb = mb;
for( iii = 0; iii < 8; iii ++ )
{
if( BitArray[iii] == 1 )
{
tb = (byte) ( 1 << iii );
if( ( tb & b ) > 0 )
MyArray[ iii ] = (byte) 49;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
else
MyArray[ iii ] = (byte) 48;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
}
}
k = 0;
ReturnStr = "";
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
{
if( k == 3 )
{
ReturnStr += (char) MyArray[ iii ] + " ";
k = 0;
}
else
{
ReturnStr += (char) MyArray[ iii ];
k ++;
}
}
ReturnStr += "= " + b.ToString() + " ( " + ValueText[ b >> ShiftCount ] + " )";
return ReturnStr;
}
public static string DecodeBitField( byte Value , int Mask , string [] ValueText )
{
return DecodeBitField( Value , (uint) Mask , ValueText );
}
public static string DecodeBitField( ushort Value , uint Mask , string [] ValueText )
{
byte [] MyArray;
int GroupLength = 0;
ushort b = 0, mb = 0, tb = 0;
string ReturnStr = "";
int iii = 0, k = 0;
byte [] BitArray;
int ShiftCount = 0;
GroupLength = 4;
b = Value;
mb = (ushort) Mask;
b &= mb;
k = (int) mb;
while( ( k & 0x1 ) == 0 )
{
ShiftCount ++;
k >>= 1;
}
BitArray = GetBytes( mb );
MyArray = new byte[ GroupLength * 4 ];
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
MyArray[ iii ] = 46;
iii = 0;
tb = mb;
for( iii = 0; iii < 16; iii ++ )
{
if( BitArray[iii] == 1 )
{
tb = (ushort) ( 1 << iii );
if( ( tb & b ) > 0 )
MyArray[ iii ] = (byte) 49;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 49;
else
MyArray[ iii ] = (byte) 48;
//MyArray[ MyArray.GetLength(0) - iii ] = (byte) 48;
}
}
k = 0;
ReturnStr = "";
for( iii = 0; iii < MyArray.GetLength(0); iii ++ )
{
if( k == 3 )
{
ReturnStr += (char) MyArray[ iii ] + " ";
k = 0;
}
else
{
ReturnStr += (char) MyArray[ iii ];
k ++;
}
}
ReturnStr += "= " + b.ToString() + " ( " + ValueText[ b >> ShiftCount ] + " )";
return ReturnStr;
}
public static string DecodeBitField( short Value , uint Mask , string [] ValueText )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -