小编Sag*_*agi的帖子

将整数从(纯)二进制转换为BCD

我现在愚蠢地解决这个问题......

我得到一个BCD号码(每个数字都是一个自己的4Bit表示)

例如,我想要的:

  • 输入:202(十六进制)== 514(十进制)
  • 输出:BCD 0x415

  • 输入:0x202

  • 位表示:0010 0000 0010 = 514

我试过了什么:

unsigned int uiValue = 0x202;
unsigned int uiResult = 0;
unsigned int uiMultiplier = 1;
unsigned int uiDigit = 0;


// get the dec bcd value
while ( uiValue > 0 )
{
    uiDigit= uiValue & 0x0F;
    uiValue >>= 4;
    uiResult += uiMultiplier * uiDigit;
    uiMultiplier *= 10;
}
Run Code Online (Sandbox Code Playgroud)

但我知道这是错误的,这将是位表示202,然后分成5个半字节,然后再次表示为十进制数

我可以在纸上解决问题,但我不能用一个简单的C代码来解决它

c binary bcd

1
推荐指数
1
解决办法
4万
查看次数

在子方法中将枚举转换为字符串

我正在努力寻找正确的演员阵容。有人可以告诉我正确的方向吗?

请参阅下面的示例:

public enum E_Enum1
{
Value1,
Value2,
Value3
}

public enum E_Enum2
{
Bla,
blubb,
whatever
}

public void myMethod(Enum e)
{
//print e.value in int
//print e.toString()
}


myMethod(E_Enum2.whatever);
myMethod(E_Enum1.Value2);
Run Code Online (Sandbox Code Playgroud)

我想得到以下结果:

2
whatever
1
Value2
Run Code Online (Sandbox Code Playgroud)

c# methods enums

0
推荐指数
1
解决办法
53
查看次数

标签 统计

bcd ×1

binary ×1

c ×1

c# ×1

enums ×1

methods ×1