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

ฟังก์ชัน frexp() ใน Python

ฟังก์ชัน 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