开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 13001|回复: 7
收起左侧

[C#求助] C++代码求翻译,着实看不懂!

[复制链接]
发表于 2021-4-17 22:02:52 | 显示全部楼层 |阅读模式   河北省邢台市
#define        ENCODE_MAGICATTACK(idUser,usType,idTarget,usPosX,usPosY) {        \
                                usType                = (::ExchangeShortBits((usType - 0x14BE),3) ^ (idUser) ^ 0x915D);        \
                                idTarget        = ::ExchangeLongBits(((idTarget - 0x8B90B51A) ^ (idUser) ^ 0x5F2D2463),32-13); \
                                usPosX                = (::ExchangeShortBits((usPosX - 0xDD12),1) ^ (idUser) ^ 0x2ED6);        \
                                usPosY                = (::ExchangeShortBits((usPosY - 0x76DE),5) ^ (idUser) ^ 0xB99B);        }

#define        DECODE_MAGICATTACK(idUser,usType,idTarget,usPosX,usPosY) {        \
                                usType                = 0xFFFF&(::ExchangeShortBits(((usType) ^ (idUser) ^ 0x915D),16-3) + 0x14BE);        \
                                idTarget        = (::ExchangeLongBits((idTarget),13) ^ (idUser) ^ 0x5F2D2463) + 0x8B90B51A; \
                                usPosX                = 0xFFFF&(::ExchangeShortBits(((usPosX) ^ (idUser) ^ 0x2ED6),16-1) + 0xDD12);        \
                                usPosY                = 0xFFFF&(::ExchangeShortBits(((usPosY) ^ (idUser) ^ 0xB99B),16-5) + 0x76DE);        }

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

inline unsigned int        ExchangeShortBits(unsigned long nData, int nBits)
{
    ASSERT(nBits >= 0 && nBits < 16);
    nData        &= 0xFFFF;
    return ((nData >> nBits) | (nData << (16 - nBits))) & 0xFFFF;
}

inline unsigned int        ExchangeLongBits(unsigned long nData, int nBits)
{
    ASSERT(nBits >= 0 && nBits < 32);
    return (nData >> nBits) | (nData << (32 - nBits));
}

结帖率:88% (7/8)

签到天数: 26 天

发表于 2021-4-18 13:28:02 | 显示全部楼层   四川省成都市
bobo123 发表于 2021-4-18 01:11
说的没错,这是一个加密一个解密的。但是我的加密解密就是对不上。尤其里面这些变量看不懂。有无符号整数 ...

慢慢看吧 也不算太难
回复 支持 反对

使用道具 举报

结帖率:90% (9/10)

签到天数: 27 天

发表于 2021-4-18 01:23:19 | 显示全部楼层   重庆市重庆市
就是一堆位运算,慢慢弄把
回复 支持 反对

使用道具 举报

签到天数: 5 天

 楼主| 发表于 2021-4-18 01:11:07 | 显示全部楼层   河北省邢台市
梦爱 发表于 2021-4-18 00:22
定义了2个函数宏  5个参数 分别给每个参数赋值   可以当做函数使用 就这么简单   ...

说的没错,这是一个加密一个解密的。但是我的加密解密就是对不上。尤其里面这些变量看不懂。有无符号整数。不知道真么用易语言表达。
回复 支持 反对

使用道具 举报

结帖率:88% (7/8)

签到天数: 26 天

发表于 2021-4-18 00:22:00 | 显示全部楼层   四川省成都市
定义了2个函数宏  5个参数 分别给每个参数赋值   可以当做函数使用 就这么简单  
回复 支持 反对

使用道具 举报

结帖率:99% (269/273)

签到天数: 1 天

发表于 2021-4-17 22:35:50 | 显示全部楼层   湖南省衡阳市
我的小拇指啊 发表于 2021-4-17 22:22
最简单的办法就是写成函数扣汇编

厉害了  你懂C++啊
回复 支持 反对

使用道具 举报

结帖率:97% (29/30)

签到天数: 27 天

发表于 2021-4-17 22:22:11 | 显示全部楼层   广西壮族自治区柳州市
最简单的办法就是写成函数扣汇编
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 1 天

发表于 2021-4-17 22:21:58 | 显示全部楼层   浙江省衢州市
学习吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表