Расчет контрольной суммы С#
Есть код на С#, но так как я его не знаю, хотелось бы увидеть? как на С это выглядит.
Order ID - 2byte; Memo_ID - 2byte; Length - 4byte; Info n byte
Непонятно, как string
превращается в int
в теле цикла.
// AstrData = {Order ID} + {Memo ID} + {Length} + {Info}
private string GetCheckData(string AstrData)
{
int CheckSum = 0x00;
for(int i=0;i<AstrData.Length;i++)
{
CheckSum = CheckSum + AstrData[i];
}
CheckSum = (CheckSum % 65536);//mod
CheckSum = (CheckSum ^ 0xFFFF) + 1;
return CheckSum.ToString("X4");
}
Что означает X4? Хорошую литературу может кто подскажет для изучения С#?