Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

คูณจำนวนเต็มที่กำหนดด้วย 3.5 ใน C++

โจทย์

เพื่อให้ได้ผลลัพธ์ของ n * 3.5 เราต้องคำนวณ (n * 2) + n + (n / 2) การเลื่อนบิตไปทางซ้าย 1 จะให้ n * 2 และการเลื่อนบิตไปทางขวา 1 จะให้ n / 2 บวกค่าเหล่านี้เข้าด้วยกันเพื่อให้ได้ผลลัพธ์

n * 3.5 = (n * 2) + n + (n / 2)

คุณสามารถส่งค่า n ที่ต่างกันเพื่อตรวจสอบสมการข้างต้นได้ มาดูตัวอย่างกัน

อินพุต

2 7 10

เอาต์พุต

7 24 35

อัลกอริธึม

  • กำหนดตัวเลข n
  • หา n * 2 โดยใช้ตัวดำเนินการบิตวایزเลขซ้าย
  • หา n / 2 โดยใช้ตัวดำเนินการบิตวัยซ้ายขวา
  • บวกค่าทั้งสองข้างต้นพร้อมกับ n เพื่อให้ได้ผลลัพธ์
  • คืนค่าผลลัพธ์

นี่เป็นโจทย์ตรงไปตรงมาด้วยขั้นตอนข้างต้น

การนำไปใช้งาน

ต่อไปนี้เป็นการนำไปใช้งานของอัลกอริธึมข้างต้นใน C++

#include <bits/stdc++.h> 
using namespace std; 

int getTheResult(int x) { 
    return (x << 1) + x + (x >> 1); 
} 

int main() { 
    int n = 10; 
    cout << getTheResult(n) << endl; 
    return 0; 
}

ผลลัพธ์

หากคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังนี้

35