new_yang 2012年09月14日
无法将'int'隐式转换成'ushort',存在一个显示转换(是否缺少强制转换)
c#翻译c时出错(如题),刚学c#一时找不到办法解决,高人能否指点下

C code:

const unsigned short cnCRC_16 = 0x8005;
unsigned long Table_CRC[256]; // CRC 表

unsigned short CRC_16( unsigned char * aData, unsigned long aSize )
{
unsigned long i;
unsigned short nAccum = 0;

BuildTable16( cnCRC_16 ); // or cnCRC_CC99vT
for ( i = 0; i < aSize; i++ )
nAccum = ( nAccum << 8 ) ^ ( unsigned short )Table_CRC[( nAccum >> 8 ) ^ *aData++];
return nAccum;
}
*******************************************************
c#:
public const ushort cnCRC_16 = 0x8005;
public UInt32[] Table_CRC_16 = new UInt32[256];
public ushort CRC16(ref byte[] aData, UInt32 aSize)
{
UInt32 i;
ushort nAccum = 0;
for (i = 0; i <aSize; i++)
{
nAccum = (nAccum << 8) ^ (ushort) Table_CRC_16[(nAccum >> 8) ^ aData[i]];//这里提示出错(如题)
}
return nAccum;

}
...全文
318 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告