C# 如何在C语言中将四个六位数合并成三个六位数
考虑以下代码:C# 如何在C语言中将四个六位数合并成三个六位数,c#,string,C#,String,考虑以下代码: string x="3F"; //0011 1111 string y="3F"; //0011 1111 string result="FFF"; 其中x为6位,y为6位,但每一位都来自不同的位置,将它们合并为3个十六进制十进制数字是必需的操作…在C中如何操作。注意:x,y最大值为3F,因此不会发生溢出 我还需要反向操作: string i="bc8"; //1011 1100 1000 string o1="2F";//10 1111 string o2="08";//00
string x="3F"; //0011 1111
string y="3F"; //0011 1111
string result="FFF";
其中x为6位,y为6位,但每一位都来自不同的位置,将它们合并为3个十六进制十进制数字是必需的操作…在C中如何操作。注意:x,y最大值为3F,因此不会发生溢出
我还需要反向操作:
string i="bc8"; //1011 1100 1000
string o1="2F";//10 1111
string o2="08";//00 1000
如何从i获取o1和o2
谢谢,我要说的是将字符串表示转换为整数。 然后使用移位从2个整数构建新的int值。 然后再把它串起来
string str1 = "3F";
string str2 = "3F";
int n1 = int.Parse(str1, NumberStyles.HexNumber);
int n2 = int.Parse(str2, NumberStyles.HexNumber);
int number = (n1 << 6) | n2;
return number.TosString("X");
我会说将字符串表示转换为整数。 然后使用移位从2个整数构建新的int值。 然后再把它串起来
string str1 = "3F";
string str2 = "3F";
int n1 = int.Parse(str1, NumberStyles.HexNumber);
int n2 = int.Parse(str2, NumberStyles.HexNumber);
int number = (n1 << 6) | n2;
return number.TosString("X");
这只是两个简单的位操作。你必须移位这只是两个简单的位运算。你得换班
uint x = 0x3f
uint y = 0x3f
uint result = x << 6 | y;
uint orig = 0xbc8;
uint x = orig >> 6;
uint y = orig & 0x3f;