Đây là đoạn trích từ tập lệnh mã hóa JS mà tôi đang nghiên cứu.Các ký tự không quen thuộc được sử dụng trong tập lệnh mã hóa JavaScript
function permutationGenerator(nNumElements) {
this.nNumElements = nNumElements;
this.antranspositions = new Array;
var k = 0;
for (i = 0; i < nNumElements - 1; i++)
for (j = i + 1; j < nNumElements; j++)
this.antranspositions[ k++ ] = (i << 8) | j;
// keep two positions as lo and hi byte!
this.nNumtranspositions = k;
this.fromCycle = permutationGenerator_fromCycle;
}
bất cứ ai có thể giải thích việc sử dụng các đôi dưới dấu hiệu < <, cũng như các đường ống đơn | ?
Sau đó, trong tập lệnh lớn hơn hai dấu hiệu cũng xuất hiện >>, cũng có một dấu và &.
function permutationGenerator_fromCycle(anCycle) {
var anpermutation = new Array(this.nNumElements);
for (var i = 0; i < this.nNumElements; i++) anpermutation[i] = i;
for (var i = 0; i < anCycle.length; i++) {
var nT = this.antranspositions[anCycle[i]];
var n1 = nT & 255;
var n2 = (nT >> 8) & 255; // JC
nT = anpermutation[n1];
anpermutation[n1] = anpermutation[n2];
anpermutation[n2] = nT;
}
return anpermutation;
}
Tôi quen thuộc với đơn < hoặc> và tất nhiên logic & & và logic || .
Suy nghĩ?
Bạn có thể muốn làm rõ rằng '2^n' có nghĩa là" 2 được nâng lên n quyền ", chứ không phải" 2 XOR n ". –
cảm ơn cho nhận xét, thậm chí không nghĩ về điều đó. đổi nó thành Math.pow (...) để làm cho nó rõ ràng hơn – Zenon
Đây là một chủ đề cũ, nhưng một * rất * hữu ích câu trả lời. Cảm ơn! – SwankyLegg