Пример использования Node.js
Если у вас есть файл (называемый multiply.js) с этим содержимым, вы можете запустить
`node multiply <number> <number>`
и получите вывод, совместимый с использованием оператора умножения для тех же двух чисел. Сдвиг битов, происходящий в функции Mulitply
, является примером того, как взять битовую маску, представляющую одно число, и использовать ее для переворачивания битов в другое число для быстрых операций.
var a, b, input = process.argv.slice(2);
var printUsage = function() {
console.log('USAGE:');
console.log(' node multiply <number> <number>');
}
if(input[0] === '--help') {+
printUsage();
process.exit(0);
}
if(input.length !== 2) {
printUsage();
process.exit(9);
}
if(isNaN(+input[0]) || isNaN(+input[1])) {
printUsage();
process.exit(9);
}
// Okay, safe to proceed
a = parseInt(input[0]),
b = parseInt(input[1]);
var Multiply = function(a,b) {
var x = a, y = b, z = 0;
while( x > 0 ) {
if(x % 2 === 1) {
z = z + y;
}
y = y << 1;
x = x >> 1;
}
return z;
}
var result = Multiply(a,b);
console.log(result);