Tính n × 15 chỉ dùng dịch bit và trừ.
Cách 1: n × 15 = n × 16 - n = (n << 4) - n
Cách 2: n × 15 = n×8 + n×4 + n×2 + n = (n<<3)+(n<<2)+(n<<1)+n
Triển khai C++
#include <bits/stdc++.h>
using namespace std;
long long multiplyBy15(long long n) {
return (n << 4) - n; // 16n - n = 15n
}
int main() {
long long n = 15;
cout << multiplyBy15(n) << endl; // 225
return 0;
}
Kết quả
225