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

บวกตัวเลขสองจำนวนโดยไม่ใช้ +, -, *, / ใน JavaScript

ปัญหา

เขียนฟังก์ชัน add() บวกสองจำนวนโดยไม่ใช้สี่ดำเนินการพื้นฐาน

โค้ดตัวอย่าง (Bitwise)

const m = 67, n = 33; 
const add = (x, y) => { 
  while(y !== 0){ 
    let carry = x & y; 
    x = x ^ y; 
    y = carry << 1; 
  } 
  return x; 
}; 
console.log(add(m, n));

คำอธิบาย

ใช้หลัก Half Adder: XOR (^) ให้ผลรวมบิต, AND (&) ให้ carry bit แล้ว shift 左 1 บิต วนจนไม่มี carry

ผลลัพธ์

100