Lir*_*rón 4 c# vb6 math code-conversion
我将包含几个加密函数的VB6模块翻译成c#,我在双方都有以下aritmethic操作:
C#:
int inter, cfc;
inter = 6940;
cfc = Convert.ToInt32((((inter / 256) * 256) - (inter % 256)) / 256);
//cfc = 26
Run Code Online (Sandbox Code Playgroud)
VB6:
Dim inter As long
Dim cfc As long
inter = 6940
cfc = (((inter / 256) * 256) - (inter Mod 256)) / 256
'cfc = 27
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚结果不匹配,因为所有操作都返回整数,这导致加密过程意外地工作.
在C#(inter / 256)中进行整数除法,而VB6则不进行整数除法.因此,在您的一个代码示例中,该分区的结果在其余操作之前被截断为27,而另一个使用的值为27.109375.这导致了最终结果的差异.
(inter \ 256)如果整数除法是您想要的,请在VB6中使用.
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |