1 就是1 ,2 就是2, 3是4 ,4是8....依次下去,请问在C#如何实现我传入 1234,得到对应的1248
时间: 2024-04-16 14:26:23 浏览: 21
要实现将整数转换为对应的1248形,你可以使用位运算和条件语句来实现。下面是一个示例的C#代码:
```csharp
using System;
public class Program
{
public static int GetCorrespondingValue(int number)
{
int result = 0;
for (int i = 0; i < 32; i++)
{
int bitValue = (number & (1 << i)) != 0 ? (1 << i) : 0;
int correspondingValue = 1 << (i / 2);
if (bitValue != 0)
{
result |= correspondingValue;
}
}
return result;
}
public static void Main()
{
int number = 1234; // 假设要转换的整数是1234
int correspondingValue = GetCorrespondingValue(number);
Console.WriteLine("对应的1248形式:");
Console.WriteLine(correspondingValue);
}
}
```
在上述代码中,`GetCorrespondingValue` 方法接收一个整数作为参数,并遍历该整数的所有位。对于每一位,我们判断其二进制值是否为1,如果是1,则将对应的1248形式的值添加到结果中。
在 `Main` 方法中,我们假设要转换的整数是1234,并调用 `GetCorrespondingValue` 方法来获取对应的1248形式的值。最后,我们将结果打印出来。
请注意,上述代码仅仅是一个示例,你可以根据实际需求进行修改和优化。希望能对你有所帮助!如果你有任何问题,请随时追问。