0Pricing
Zig Academy · บทเรียน

เลขทศนิยม: f32 และ f64

ทำงานกับตัวเลขเศษส่วน

เลขทศนิยม: f32 และ f64 เป็นบทเรียน Zig Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Zig Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

ตัวเลขที่มีเศษส่วน

เมื่อต้องใช้เลขทศนิยม Zig มีชนิดข้อมูลแบบจุดลอยตัวให้เลือกใช้ ชนิดเหล่านี้เก็บค่าเศษส่วน เช่น 3.14 แทนการเก็บเฉพาะจำนวนเต็ม

f64 คือตัวเลือกทั่วไป

ชนิดข้อมูล f64 เก็บค่าจุดลอยตัวแบบความละเอียดสองเท่าโดยใช้ 64 บิต โดยทั่วไปจะเลือกใช้เมื่อคุณต้องการความแม่นยำและช่วงค่าที่กว้าง

const pi: f64 = 3.14159;

f32 แลกความแม่นยำกับขนาด

f32 ใช้พื้นที่ 32 บิต จึงประหยัดหน่วยความจำและอาจทำงานได้เร็วกว่า แต่เก็บเลขนัยสำคัญได้น้อยกว่า f64

const ratio: f32 = 0.5;

Zig มีขนาดค่าจุดลอยตัวมากกว่านี้

นอกจาก f32 และ f64 แล้ว Zig ยังรองรับ f16 และ f128 ด้วย คุณเลือกขนาดที่สมดุลระหว่างความแม่นยำ หน่วยความจำ และความเร็วได้

ค่าคงที่จุดลอยตัวต้องมีจุด

ค่าคงที่จุดลอยตัวต้องมีจุดทศนิยม เช่น 2.0 การเขียนเพียง 2 จะได้จำนวนเต็ม ซึ่งเป็นค่าคนละชนิดกัน

const half = 0.5;
const one = 1.0;

ใช้สัญกรณ์วิทยาศาสตร์ได้เช่นกัน

คุณสามารถเขียนค่าจุดลอยตัวที่ใหญ่มากหรือเล็กมากด้วยเลขชี้กำลัง รูปแบบ 1.5e3 หมายถึง 1.5 คูณสิบยกกำลังสาม หรือเท่ากับ 1500

const big: f64 = 1.5e3;

การคำนวณด้วยค่าจุดลอยตัว

ตัวดำเนินการทั่วไปใช้กับค่าจุดลอยตัวได้ การหารค่าจุดลอยตัวสองค่าจะยังคงเก็บส่วนเศษไว้แทนที่จะตัดทิ้ง

const result: f64 = 7.0 / 2.0; // 3.5

ค่าจุดลอยตัวเป็นค่าโดยประมาณ

ค่าจุดลอยตัวไม่สามารถเก็บเลขทศนิยมทุกค่าได้อย่างแม่นยำ ความผิดพลาดจากการปัดเศษเพียงเล็กน้อยทำให้ 0.1 บวก 0.2 อาจไม่เท่ากับ 0.3 อย่างพอดี

เปรียบเทียบด้วยค่าความคลาดเคลื่อนที่ยอมรับได้

เนื่องจากการปัดเศษ ให้หลีกเลี่ยงการทดสอบค่าจุดลอยตัวด้วยความเท่ากันแบบตรงตัว แต่ให้ตรวจสอบว่าผลต่างมีค่าน้อยกว่าเกณฑ์ขนาดเล็กแทน

const close = @abs(a - b) < 0.0001;

แปลงจำนวนเต็มเป็นค่าจุดลอยตัว

หากต้องการเปลี่ยนจำนวนเต็มเป็นค่าจุดลอยตัว คุณต้องระบุอย่างชัดเจนด้วย @floatFromInt Zig จะไม่ผสมจำนวนสองชนิดนี้ให้โดยอัตโนมัติ

const n: i32 = 10;
const f: f64 = @floatFromInt(n);

ค่าจุดลอยตัวพิเศษ

ค่าจุดลอยตัวยังสามารถแทนค่าอนันต์และค่าไม่ใช่ตัวเลขได้ ค่าเหล่านี้อาจเกิดจากการดำเนินการ เช่น การหารด้วยศูนย์ และไลบรารีมาตรฐานก็มีชื่อเรียกให้

ตรวจสอบอย่างรวดเร็ว

คุณหารค่าจุดลอยตัวค่าหนึ่งด้วยอีกค่าหนึ่งและต้องการเก็บผลลัพธ์ที่มีเศษส่วนไว้ ข้อใดเป็นจริงเกี่ยวกับการคำนวณแบบจุดลอยตัวใน Zig

สรุป

ใช้ f64 สำหรับเลขทศนิยมทั่วไป และใช้ f32 เพื่อประหยัดพื้นที่ โปรดจำไว้ว่าค่าจุดลอยตัวเป็นค่าโดยประมาณ จึงควรเปรียบเทียบด้วยค่าความคลาดเคลื่อนที่ยอมรับได้และแคสต์อย่างตั้งใจ 🎯

คำถามที่พบบ่อย

บทเรียน “เลขทศนิยม: f32 และ f64” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เลขทศนิยม: f32 และ f64” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Zig Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เลขทศนิยม: f32 และ f64”

ทำงานกับตัวเลขเศษส่วน คุณปฏิบัติ Zig Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Zig Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Zig Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “เลขทศนิยม: f32 และ f64” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Zig Academy นี้ได้ไหม

ได้ บทเรียน Zig Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. จำนวนเต็มกำหนดขนาด: i32, u8, usize
  2. เลขทศนิยม: f32 และ f64
  3. bool, void และชนิด comptime
  4. ค่าตัวเลขตามตัวอักษรและขีดล่าง
← กลับไปที่ Zig Academy