บทนำ
งานนี้แสดงการทำงานของ copysign() ใน C++
copysign() เป็นส่วนหนึ่งของ C++ STL รับ 2 อาร์กิวเมนต์ ผลลัพธ์มาจากการรวม Magnitude (ค่าสัมบูรณ์) ของค่าแรก และ Sign (เครื่องหมาย) ของค่าที่สอง
ต้อง include <math.h> หรือ <cmath>
Syntax
copysign(x, y)
ตัวอย่าง
Input: copysign(4, -5) Output: -4
คำอธิบาย - เครื่องหมายของอาร์กิวเมนต์ที่ 2 คือ "-" และ Magnitude ของอาร์กิวเมนต์ที่ 1 คือ 4 รวมกันได้ -4
Input: copysign(-1.3, 4.4) Output: 1.3
คำอธิบาย - เครื่องหมายของอาร์กิวเมนต์ที่ 2 คือ "+" และ Magnitude ของอาร์กิวเมนต์ที่ 1 คือ 1.3 รวมกันได้ 1.3 รองรับทั้งจำนวนเต็มและทศนิยม
แนวทางในโปรแกรม
- เลือก 2 ค่า: ตัวแรกเอา Magnitude, ตัวที่สองเอา Sign (เช่น -1.1 และ 2.3)
- ส่งเข้า copysign() โดยตัวแรก = magnitude, ตัวที่สอง = sign
ตัวอย่างโค้ด
#include <iostream>
#include <cmath>
using namespace std;
int main() {
cout << copysign(-1.1, 2.3);
return 0;
}
ผลลัพธ์
1.1
เครื่องหมาย "+" จาก 2.3 และ Magnitude 1.1 จาก -1.1 รวมกันได้ 1.1