ฟังก์ชัน math.frexp() ใช้แยกตัวเลขเป็น มานติสซา (Mantissa) และ เอ็กซ์โพเนนต์ (Exponent) โดยที่ x = m * 2**e โดย m อยู่ในช่วง [0.5, 1.0) สำหรับ x > 0 ใช้ในการคำนวณทางคณิตศาสตร์และวิศวกรรม
ไวยากรณ์
math.frexp(x) # Parameters: x - ตัวเลขใดๆ (บวกหรือลบ) # Returns: tuple (m, e) โดย m = mantissa, e = exponent # Exception: TypeError หาก x ไม่ใช่ตัวเลข
ตัวอย่างพื้นฐาน
import math print(math.frexp(12)) # (0.75, 4) เพราะ 0.75 * 2^4 = 12 print(math.frexp(10.5)) # (0.65625, 4) เพราะ 0.65625 * 2^4 = 10.5
ผลลัพธ์
(0.75, 4) (0.65625, 4)
การใช้กับลิสต์และ Tuple
สามารถนำไปใช้กับสมาชิกในลิสต์หรือ Tuple โดยใช้ดัชนี
ตัวอย่าง
import math listA = [3, 9, 4, 7] tupA = (3.8, 12.6, 12.5) print(math.frexp(listA[2])) # index 2 = 4 -> (0.5, 3) print(math.frexp(tupA[1])) # index 1 = 12.6 -> (0.7875, 4)
ผลลัพธ์
(0.5, 3) (0.7875, 4)
การประยุกต์ใช้: frexp() มีประโยชน์ในการวิเคราะห์การแทนค่าจุดลอยตัว (Floating point representation) และการทำ Fast math operations