本文介绍了将perl转换为的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人可以帮助将此Perl代码转换为.Net吗?
Could someone please help in converting this Perl code to .Net?
sub xor16 { local(@x) = @_[0..15]; local(@y) = @_[16..31]; local(@results16) = (); for($j=0;$j<16;$j++) { if (shift(@x) eq shift(@y)) { push(@results16, '0'); } else { push(@results16, '1'); } } return(@results16[0..15]); } { local($st_data) = $ARGV[0]; local(@G) = ('1','0','0','0','0','0','0','0','0','0','0','0','0','1','0','1'); local(@hold) = ('1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'); local(@data) = split (//,$st_data); if (scalar(@data) > 0) { loop16: while (scalar(@data) > 0) { $nextb=shift(@data); if (($nextb ne "0") && ($nextb ne "1")) {next loop16} ## comment character if ($nextb eq shift(@hold)) {push(@hold, '0')} else { push(@hold, '0'); @hold = &xor16(@hold,@G); } } } # print (@hold); print "\n"; ## invert shift reg to generate CRC field for ($i=0;$i<=$#hold;$i++) {if (@hold[$i] eq "1") {print("0")} else { print("1")} } print "\n"; }推荐答案
j = 0;
j< 16; j<16;
j ++){ if (shift( @ x )eq shift( @ y )){push( @ results16 ,' 0'); } else {push( @ results16 , ' 1'); } } return ( @ results16 [ 0 .. 15 ]); } { local( j++) { if (shift(@x) eq shift(@y)) { push(@results16, '0'); } else { push(@results16, '1'); } } return(@results16[0..15]); } { local(
更多推荐
将perl转换为.net
发布评论