精易论坛
标题:
请教JavaScrypt翻译成易语言,CRC16查表法
[打印本页]
作者:
wswuzj
时间:
2025-7-5 23:28
标题:
请教JavaScrypt翻译成易语言,CRC16查表法
var
di
=
function
() {
function
t
() {}
return
t
.
update
=
function
(
e
,
i
,
n
) {
void
0
===
i
&&
(
i
=
0
),
void
0
===
n
&&
(
n
=
0
);
var
o
=
0
,
s
=
0
;
0
==
n
&&
(
n
=
e
.
length
),
e
.
position
=
i
;
for
(
var
r
=
i
;
n
>
r
;
++
r
)
s
=
255
&
t
.
CRCBitReflect
(
e
.
readByte
(),
8
)
^
o
>>
8
&
16777215
,
s
&=
255
,
o
=
t
.
CRCTable
[
s
]
^
o
<<
8
&
4294967040
;
return
65535
&
(
0
^
t
.
CRCBitReflect
(
o
,
16
))
}
,
t
.
makeCRCTable
=
function
() {
for
(
var
e
=
0
,
i
=
new
Array
(
256
),
n
=
0
;
256
>
n
;
++
n
) {
e
=
n
<<
8
&
4294967040
;
for
(
var
o
=
0
;
8
>
o
;
++
o
)
e
=
32768
&
e
?
e
<<
1
&
4294967294
^
t
.
POLYNOMIAL
:
e
<<
1
&
4294967294
;
i
[
n
]
=
e
}
return
i
}
,
t
.
CRCBitReflect
=
function
(
e
,
i
) {
var
n
=
0
,
o
=
0
;
i
--
;
for
(
var
s
=
0
;
i
>=
s
;
++
s
)
o
=
i
-
s
,
1
&
e
&&
(
n
|=
1
<<
o
&
t
.
DropBits
[
o
]),
e
=
e
>>
1
&
2147483647
;
return
n
}
,
t
.
POLYNOMIAL
=
4129
,
t
.
CRCTable
=
t
.
makeCRCTable
(),
t
.
DropBits
=
[
4294967295
,
4294967294
,
4294967292
,
4294967288
,
4294967280
,
4294967264
,
4294967232
,
4294967168
,
4294967040
,
4294966784
,
4294966272
,
4294965248
,
4294963200
,
4294959104
,
4294950912
,
4294934528
],
t
}();
请教各位大神将上述js代码翻译成易语言代码,精币不够可以用马内代替。
作者:
wswuzj
时间:
2025-7-5 23:29
上面就是CRC16查表法,非常感谢
补充内容 (2025-7-5 23:59):
求教各位
作者:
冯古屋
时间:
2025-7-6 15:48
你需要知道t这个对象到底是啥
作者:
wswuzj
时间:
2025-7-6 17:30
冯古屋 发表于 2025-7-6 15:48
你需要知道t这个对象到底是啥
这个t就是di本身
作者:
wswuzj
时间:
2025-7-6 17:31
冯古屋 发表于 2025-7-6 15:48
你需要知道t这个对象到底是啥
可以无视这个t
作者:
wswuzj
时间:
3 天前
已自己解决
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4