使用Node.js的示例
假设您有一个包含这些内容的文件(称为multiple.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);
}
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);