Sunday 9 July 2017

ลอย จุด Mantissa ตัวแทน ไบนารี ตัวเลือก


ตัวเลขลอยตัวตัวเลขจริง pi 3.14159265 e 2.71828 โน้ตวิทยาศาสตร์: มีตัวเลขหนึ่งหลักที่ด้านซ้ายของจุดทศนิยม หมายเลขใน Notation Scientific ไม่มี 0s ชั้นนำเรียกว่าเลขที่ปกติ: 1.0 ครั้ง 10 -8 ไม่อยู่ในรูปแบบปกติ: 0.1 ครั้ง 10-7 หรือ 10.0 ครั้ง 10-9 สามารถแสดงตัวเลขไบนารีในสัญกรณ์ทางวิทยาศาสตร์ได้ด้วย 1.0 ครั้ง 2 -3 คอมพิวเตอร์เลขคณิตที่สนับสนุนตัวเลขดังกล่าวเรียกว่า Floating Point รูปแบบคือ 1.xxxx133 ครั้ง 2 yy133 การใช้สัญกรณ์ทางวิทยาศาสตร์แบบปกติช่วยลดความซับซ้อนของการแลกเปลี่ยนข้อมูลที่มีตัวเลขทศนิยมช่วยลดขั้นตอนการคำนวณทางคณิตศาสตร์ให้ทราบว่าตัวเลขจะอยู่ในรูปแบบนี้เสมอช่วยเพิ่มความถูกต้องของตัวเลขที่สามารถจัดเก็บไว้ในคำได้ เพราะแต่ละชั้นนำที่ไม่จำเป็น 0 จะถูกแทนที่ด้วยเลขสำคัญอื่นที่ด้านขวาของจุดทศนิยมการแสดงตัวอย่างของตัวเลข Floating-Point -1 S ครั้ง M ครั้ง 2 E 177 10 -308 10 308 รูปแบบเหล่านี้เรียกว่า IEEE 754 Floating-Point Standard เนื่องจากมินิสาอยู่เสมอ 1.xxxxxxxxx ในรูปแบบปกติแล้วไม่จำเป็นต้องเป็นตัวแทน 1 ดังนั้นความมีประสิทธิภาพ: Single Precision: mantissa 1 bit 23 bits ความแม่นยำ Double: mantissa 1 บิต 52 bits เนื่องจากศูนย์ (0.0) ไม่มีชั้นนำ 1 เพื่อแยกความแตกต่างจากส่วนอื่น ๆ จะได้รับบิตpatternที่สงวนไว้ทั้งหมด 0 วินาทีสำหรับเลขยกกำลังเพื่อให้ฮาร์ดแวร์ไม่ติด ชั้นนำ 1 ดังนั้น: ตัวเลขอื่น ๆ -1 ครั้ง S (1 Mantissa) ครั้ง 2 E ถ้าเราระบุจำนวนบิตเทียมจากซ้ายไปขวา m1, m2, m3 mantissa m1 ครั้งที่ 2 -1 m2 ครั้งที่ 2 -2 m3 ครั้งที่ 2 -3 ตัวเลขที่เป็นลบอาจก่อให้เกิดปัญหาในการเปรียบเทียบ ตัวอย่างเช่น (มี twos complement): Real Numbers: Floating point numbers ในยุคกลางคนที่ถูกส่งมอบให้ถูกมองว่าเป็นคนชั่วร้ายมุมมองเชิงลบ ดังนั้นถ้าคุณลืมวิธีที่จะย้ายจุดทศนิยมให้ลบค่าลบออกไปทางซ้าย ขณะที่ตัวเลขบวกจะเลื่อนไปทางขวาหากคุณศึกษาวิชาอื่น ๆ เช่นฟิสิกส์หรือเคมีคุณอาจพบตัวเลข Floating Point เช่นนี้บิตแรกกำหนดส่วนที่ไม่ใช่ศูนย์ของจำนวนและเรียกว่า Mantissa ส่วนที่สองกำหนดว่าเราต้องการย้ายตำแหน่งทศนิยมกี่ตำแหน่งสิ่งนี้เรียกว่า Exponent และสามารถบวกเมื่อย้ายจุดทศนิยมไปทางด้านขวาและด้านลบเมื่อเลื่อนไปทางซ้าย 6.63 M antissa 10 34 E xponent underbrace Mantissaend times underbrace Exponentend ถ้าคุณต้องการเขียนตัวเลขเต็มจำนวนคุณจะต้องย้ายจุดทศนิยมในเลขที่ 34 ไปทางซ้ายซึ่งส่งผลให้: ซึ่งจะใช้เวลามากในการ เขียนและเป็นเรื่องยากมากสำหรับสายตามนุษย์เพื่อดูจำนวนศูนย์ที่มีอยู่ ดังนั้นเมื่อเราสามารถยอมรับความถูกต้องในระดับหนึ่ง (6.63 3 ตัวเลขที่สำคัญ) เราสามารถจัดเก็บตัวเลขจำนวนมากเช่นจำนวนแผ่นได้อย่างคงที่ในจำนวนตัวเลข คุณกำลังชั่งน้ำหนักขอบเขต (หรือช่วง) ของหมายเลขต่อความถูกต้อง (จำนวนบิตสำคัญ) เช่นเดียวกับตัวเลขไบนารีและมีความสำคัญมากยิ่งขึ้น เมื่อคุณกำลังติดต่อกับตัวเลขและการคำนวณของพวกเขาแทนคุณต้องตระหนักเสมอว่าพื้นที่ที่ตัวเลขจะใช้เวลาในหน่วยความจำ ดังที่เราเห็นในตัวอย่างข้างต้นการแทนจุดที่ไม่ใช่แบบลอยตัวของตัวเลขอาจใช้ตัวเลขที่ไม่สามารถคำนวณได้โปรดนึกถึงตัวเลขที่คุณต้องการเก็บไว้เป็นจำนวนเงิน 0.00 000 000 000 000 000 000 000 000 000 663 เลขฐานสองเลขฐานสอง จำนวนจุดลอยอาจประกอบด้วย 2, 3 หรือ 4 ไบต์ แต่เพียงอย่างเดียวที่คุณต้องกังวลเกี่ยวกับความหลากหลายคือ 2 ไบต์ (16 บิต) 10 บิตแรกเป็น Mantissa, 6 บิตสุดท้ายเป็นเลขชี้กำลัง เช่นเดียวกับ denary floating point แทนหมายเลขจุดลอยตัวแบบไบนารีจะมี mantissa และเลขยกกำลังแม้ว่าในขณะที่คุณกำลังจัดการกับฐานสอง (ฐาน 2) คุณต้องจำไว้ว่าแทนที่จะมี 10 x y คุณจะต้องใช้ 2 x y ทำไมต้องใช้เลขทศนิยมแบบไบนารีแก้ไขไบนารีจุดคงที่ช่วยให้คอมพิวเตอร์เก็บเศษส่วนได้ แต่เนื่องจากลักษณะของมัน จำกัด อยู่ในขอบเขต แม้จะใช้ไบต์ 4 เพื่อถือแต่ละหมายเลขมี 8 บิตสำหรับส่วนที่เป็นเศษส่วนหลังจากจุดจำนวนมากที่สุดที่สามารถจัดขึ้นได้เพียงแค่ 8 ล้าน จำเป็นต้องมีรูปแบบอื่นสำหรับการถือครองหมายเลขที่มีขนาดใหญ่มาก เลขทศนิยมจำนวนมากสามารถแสดงด้วย mantissa และเลขยกกำลัง 0.1210 นี่คือ 0.12 เทพธิดาและ 10 เป็นเลขยกกำลัง เทพนิยายถือหลักหลักและ exponents กำหนดที่ควรจะวางจุดทศนิยม เทคนิคเดียวกันนี้สามารถใช้กับเลขฐานสองได้ เช่นสองไบต์สามารถแยกเพื่อให้ 10 บิตใช้สำหรับ mantissa และส่วนที่เหลืออีก 6 สำหรับเลขยกกำลัง นี้จะช่วยให้ขอบเขตมากขึ้นของตัวเลขที่จะใช้ การแปลงเลขทศนิยมแบบไบนารีเป็นทศนิยมการแก้ไขมีหลายขั้นตอนที่ต้องใช้เมื่อคำนวณตัวเลขทศนิยมในไบนารี ในความเป็นจริงมันเป็นเหมือนการเต้นระบำดิสโก้ - ที่รู้จักกันในหน้านี้เป็นเต้นรำ Noorgat รูปแบบเคมป์ (คุณเคยได้รับการทดสอบในชื่อ แต่ก็ควรจะช่วยให้คุณจำ) เข้าสู่ระบบ - หาสัญญาณของ mantissa (ทำบันทึกของ นี้) สไลด์ - หาค่าของเลขชี้กำลังและไม่ว่าจะเป็นบวกหรือลบ Bounce - ย้ายทศนิยมระยะทางที่เลขชี้กำลังถามด้านซ้ายสำหรับเลขลบเป็นบวกสำหรับการบวกถ้าย้ายไปทางซ้ายและเป็นบวกจำนวนแล้ว pad กับ zeroes ถ้าย้ายไปทางซ้ายและเป็นตัวเลขเชิงลบแล้วแผ่นกับคนพลิก - หากมานิสซ่าเป็นลบดำเนินการ twos เติมเต็มมันว่ายน้ำ - เริ่มต้นที่จุดทศนิยมทำงานออกค่าของ mantissa ไปซ้ายแล้วขวา ตอนนี้ให้กลับไปดูป้ายที่คุณบันทึกไว้ในเครื่องหมายย้าย ตัวอย่าง: binary floating point ทำงานตัวอย่างช่วยให้ทดลองใช้ เราได้รับเลขทศนิยม 16 บิตต่อไปนี้โดยมี 10 บิตสำหรับ mantissa และ 6 บิตสำหรับเลขยกกำลัง โปรดจำไว้ว่าจุดทศนิยมอยู่ระหว่างบิตที่สำคัญที่สุดที่หนึ่งและที่สองขั้นตอนแรกที่เราต้องทำคือเครื่องหมาย ค้นหาสัญญาณของ Mantra ขั้นตอนที่สองในการเต้นรำ Noorgat คือภาพนิ่ง เราต้องหาค่าของเลขยกกำลังนั่นคือ 6 บิตสุดท้ายของตัวเลขขั้นตอนที่สามในการเต้นรำ Noorgat คือการตีกลับที่เคลื่อนที่จุดทศนิยมของ Mantissa จำนวนตำแหน่งที่ระบุโดยภาพนิ่งซึ่งเป็นหนึ่ง ตำแหน่งทางด้านขวา เช่นเดียวกับ: ขั้นตอนที่สี่คือพลิกตัวเลือก ตรวจสอบย้อนกลับไปที่ขั้นตอนการลงชื่อและดูว่า Mantissa เป็นค่าลบหรือไม่ มันไม่ได้เป็นอย่างดีคุณสามารถข้ามขั้นตอนนี้แล้วในขณะที่เราเพียงพลิกตัวเลขถ้ามินิสะเป็นลบ ขั้นตอนที่ห้าและขั้นสุดท้ายคือว่ายน้ำ ตอนนี้เราสามารถคำนวณมูลค่าของจำนวนจุดลอยตัวได้ เริ่มต้นที่ศูนย์และป้ายหมายเลขแต่ละหมายเลขไปทางซ้าย 1. 2. 4. 8. 16 เป็นต้น แต่ละหมายเลขด้านขวา 1 2 1 4 1 8 1 16,,, และอื่น ๆ แบบฝึกหัด: จุดลอยแบบไบนารีแบบง่าย 3.10.1 พื้นฐานเบื้องต้นจุดลอยตัวมีข้อ จำกัด ของจุดยึดโดยใช้รูปแบบคล้ายกับสัญกรณ์ทางวิทยาศาสตร์ หมายเลขสัญกรณ์ทางวิทยาศาสตร์อย่างที่คุณน่าจะรู้จักประกอบด้วย mantissa (3.52 ในตัวอย่างข้างต้น) radix (เสมอ 10) และเลขยกกำลัง (3 ในตัวอย่างข้างต้น) ดังนั้นรูปแบบทั่วไปของค่าสัญกรณ์ทางวิทยาศาสตร์คือ: mantissa x radix exponent รูปแบบ normalised มักมี mantissa มากกว่าหรือเท่ากับ 1.0 และน้อยกว่า 10.0 เราสามารถ denormalize ค่าและแสดงในรูปแบบอื่น ๆ เช่น 35.2 x 10 2. หรือ 0.00325 x 10 0. สำหรับแต่ละตำแหน่งเราเปลี่ยนตัวเลขของ mantissa สัมพันธ์กับจุดทศนิยมเราเพิ่มหรือลดค่าของ mantissa โดยมีค่าเท่ากับ 10. เพื่อชดเชยค่านี้เราจะเพิ่มหรือลดเลขชี้กำลังโดย 1. Denormalizing เป็นสิ่งที่จำเป็นเมื่อเพิ่มค่าสัญกรณ์ทางวิทยาศาสตร์: การปรับ mantissa และเลขยกกำลังบางครั้งก็จำเป็นต้องทำให้ปกติผล ตัวอย่างเช่น 9.9 x 10 2 9.9 x 10 2 คือ 19.8 x 10 2. ซึ่งจะต้องเป็น normalized เป็น 1.98 x 10 3. ระบบลอยแบบไบนารีจะจัดเก็บ mantissa ไบนารีที่ลงชื่อไว้และเลขยกกำลังไบนารีที่ลงชื่อไว้และมักใช้ค่าความคลาด 2 การใช้ค่า radix ของ 2 (หรือพลังงานใด ๆ จาก 2) ช่วยให้เราสามารถทำให้เป็น normalize และ denormalize โดยการขยับตัวเลข binary ใน mantissa และปรับเลขชี้กำลังจำนวนเต็มบน radix ของ 2 (เปลี่ยนเลขฐานสองใน n mantissa n ไปทางซ้ายหรือ ถูกต้องหรือหาร mantissa ด้วย 2 n) 00010 2 x 2 3 01000 2 x 2 1. รูปแบบจุดลอยตัวมาตรฐานกำหนดโดยสมาคม IEEE รูปแบบ IEEE ซับซ้อนกว่าเล็กน้อยซึ่งจำเป็นต้องเข้าใจจุดลอยตัวโดยทั่วไปดังนั้นเราจะเริ่มต้นด้วยตัวอย่างง่ายๆที่นี่ 3.10.2.A รูปแบบจุดลอยตัวแบบง่ายสมมุติว่ารูปแบบจุดลอยตัวแบบ 32 บิตมี mantissa แบบ twitt เสริม 24 บิต twitter จำนวน 8 บิตและมีค่า radix เท่ากับ 2. โครงสร้างทั่วไปคือ mantissa x 2 exponent ที่ไหน mantissa เป็นจำนวนเต็มของ twos จำนวน 24 บิตและเลขยกกำลังเป็นเลขจำนวนเต็มแบบ 8 บิต twos complement รูปแบบไบนารีเป็นดังนี้: Table3.3.Floating Point Format ค่าของตัวเลขต่อไปนี้ mantissa คือ 000000000000000000010010 หรือ (2 16) 18 เลขยกกำลังคือ 11111100 - (00000011 1) -00000100 -4 ค่าคือ 18 x 2 -4 ค่าบวกที่ใหญ่ที่สุดเท่าที่เราสามารถแสดงได้ในระบบนี้ค่าบวกที่ใหญ่ที่สุดจะประกอบด้วย mantissa บวกที่ใหญ่ที่สุดและเป็นเลขบวกที่ใหญ่ที่สุด มินิสาที่ใหญ่ที่สุดคือ 011111111111111111111111 ซึ่งในส่วนเสริมของ twos คือ 2 23 -1 (8388607) เลขชี้กำลังที่ใหญ่ที่สุดคือ 01111111 ซึ่งใน twos complement คือ 2 7 -1 (127) ดังนั้นค่าบวกที่ใหญ่ที่สุดคือ 8388607 x 2 127 1.42 x 10 45 ค่าบวกที่ใหญ่ที่สุดเป็นอันดับสองอะไรคือความแตกต่างระหว่างขนาดใหญ่ที่สุดและใหญ่เป็นอันดับสองค่าบวกที่สุดคืออะไรหาค่าบวกน้อยที่สุดใน mantissa x เลขฐานสิบหก เราเลือก mantissa บวกที่เล็กที่สุดและเลขยกกำลังลบที่เล็กที่สุด (เลขลบที่มีขนาดมากที่สุด) เนื่องจาก mantissa เป็นจำนวนเต็มค่าบวกที่เล็กที่สุดที่เป็นไปได้คือ 1. เนื่องจากเลขชี้กำลังเป็นค่า complement ของ twos 8 บิตเลขที่น้อยที่สุดคือ 10000000 2. จาก -2 7 -128 ดังนั้นค่าบวกที่น้อยที่สุดคือ 1 x 2 -128 หรือ 2.93873587706 x 10 -39 อะไรคือความแตกต่างเล็ก ๆ น้อย ๆ ที่สองค่าบวกอะไรคือความแตกต่างระหว่างเล็กที่สุดและวินาทีที่สองเป็นตัวแทน -2.75 ในระบบจุดลอยตัวนี้แปลงตัวเลขเป็นไบนารีจุดคงที่โดยใช้วิธีการที่อธิบายไว้ในส่วนก่อนหน้านี้คูณด้วยเลขฐานสิบหกเท่ากับ 1: จุดไบนารีที่จะทำให้มานพาเป็นจำนวนเต็ม: - (1011 2) โดยการย้ายจุดไบนารีสองตำแหน่งไปทางขวาเราคูณ mantissa โดย 2 2 ดังนั้นเราต้องแบ่ง (เลขฐานสิบหก) ด้วยปัจจัยเดียวกัน: แปลง mantissa และเลขชี้กำลังในรูปแบบที่ระบุ (twos complement ในกรณีนี้): Mantissa: - (000000000000000000001011) 111111111111111111110101 เลขที่ตัวแทน: -2 10 11111110 การแทนเลขฐานสิบหก 11111111111111111111010111111110 จำนวนเงินที่ระบบต่างๆสามารถแสดงได้เป็นจำนวนเท่าใด 3.10.3 การไหลเวียนและการไหลเวียนส่วนเกินเกิดขึ้นเมื่อ ผลของการดำเนินการจุดลอยมีค่ามากกว่าค่าบวกที่ใหญ่ที่สุดหรือเล็กกว่าค่าลบที่เล็กที่สุด กล่าวอีกนัยหนึ่งขนาดใหญ่เกินไปที่จะแสดง Underflow เกิดขึ้นเมื่อผลการดำเนินงานของจุดลอยมีค่าน้อยกว่าค่าบวกที่เล็กที่สุดหรือใหญ่กว่าค่าลบที่ใหญ่ที่สุด กล่าวอีกนัยหนึ่งขนาดที่เล็กเกินไปที่จะเป็นตัวแทน รูปแบบ 32 บิตตัวอย่างข้างต้นไม่สามารถแสดงค่าที่มีขนาดใหญ่กว่าประมาณ 10 45 หรือเล็กกว่าประมาณ 10 -39 เทคนิคหนึ่งเพื่อหลีกเลี่ยงการล้นและการไหลเวียนใต้พิภพคือการดำเนินงานสำรองซึ่งจะเพิ่มและลดผลการดำเนินงานระดับกลาง แทนที่จะทำการคูณทั้งหมดก่อนซึ่งอาจทำให้เกิดการล้นหรือหน่วยงานทั้งหมดก่อนซึ่งอาจทำให้เกิดการลดลงต่ำกว่าเราสามารถสลับการคูณและหน่วยต่างๆเพื่อลดผลได้ตลอดเวลา เทคนิคเหล่านี้มักใช้ในการคำนวณทางวิทยาศาสตร์ที่ซับซ้อน 3.10.4 ค่าใช้จ่ายของ Floating Point ทุกอย่างมีค่าใช้จ่าย ช่วงที่เพิ่มขึ้นและความสามารถในการแสดงตัวเลขที่ไม่ใช่ตัวเลขทั้งหมดจะไม่มีข้อยกเว้น มีเพียง 2 32 รูปแบบของ 32 0 และ 1 เท่านั้น ดังนั้นมีเพียง 2 32 หมายเลขเฉพาะที่เราสามารถแสดงได้ใน 32 บิตโดยไม่คำนึงถึงรูปแบบ ดังนั้นเราสามารถเป็นตัวแทนตัวเลขได้ถึง 10 45 เราเห็นได้ชัดว่าเราต้องเสียสละบางอย่างในระหว่าง จุดลอยอะไรที่เราจะกระจายออกไปในจำนวน จำกัด รูปแบบไบนารีที่เรามีให้ครอบคลุมช่วงใหญ่ของตัวเลข ยิ่งมีขนาดใหญ่เท่ากันช่องว่างระหว่างหมายเลขติดต่อกันที่เราสามารถแสดงได้อย่างถูกต้อง ใกล้เคียงกับ 0 เราสามารถแสดงตัวเลขจำนวนมากในช่วงเล็ก ๆ ห่างจากศูนย์จะมีทั้งตัวเลขทั้งหมดที่ไม่สามารถแสดงได้ ความแม่นยำของค่าจุดลอยตัว 32 บิตน้อยกว่าความแม่นยำของจำนวนเต็ม 32 บิต โดยการใช้ 8 บิตสำหรับเลขชี้กำลังเราจะเสียสละความแม่นยำ 8 บิตเหล่านี้ ดังนั้นรูปแบบตัวอย่างของเรามีความแม่นยำเช่นเดียวกับระบบเลขจำนวนเต็มจำนวน 24 บิต การคำนวณทางคณิตศาสตร์ในจุดลอยตัวช้ากว่าจำนวนเต็มหลายครั้ง นี่คือคุณสมบัติโดยธรรมชาติของรูปแบบ พิจารณาขั้นตอนการเพิ่มค่าสัญกรณ์สองค่า Equalize the exponents เพิ่ม mantissas Normalize result การดำเนินการเหล่านี้จะใช้เวลาในเครื่องเดียวกันเป็นเวลาเดียวกับการเพิ่มจำนวนเต็ม เนื่องจากจุดลอยจะถูกจัดเก็บไว้เช่นสัญกรณ์ทางวิทยาศาสตร์เราจึงคาดว่าการเพิ่มจุดลอยจะใช้เวลาประมาณสามเท่าตราบใดที่จำนวนเต็มบวก ในความเป็นจริงพีซีทั่วไปจะใช้เวลาประมาณ 2.5 เท่าในการรันคำสั่งเลขคณิตลอยตัวเช่นเดียวกับการสอนจำนวนเต็มเดียวกัน โปรดทราบว่าสิ่งนี้ใช้ได้กับการดำเนินงานที่สามารถดำเนินการได้โดยใช้คำสั่งจำนวนเต็มเดียวหรือคำสั่งลอยตัวเดียว ตัวอย่างเช่นสมมติว่าโปรแกรมกำลังทำงานบนคอมพิวเตอร์แบบ 32 บิตและไม่มีวิธีใดในการแสดงข้อมูลภายในช่วงของจำนวนเต็ม 32 บิต ในกรณีนี้ต้องใช้คำแนะนำจำนวนเต็มหลายค่าเพื่อประมวลผลค่าจำนวนเต็มมากกว่า 32 บิตและไม่สามารถใช้ประโยชน์จากความเร็วของจำนวนเต็มได้ นอกจากนี้ยังอาจเป็นไปได้ในบางระบบที่อาจเกิดการลอยตัวและการดำเนินการจำนวนเต็มในเวลาเดียวกันและด้วยเหตุนี้การใช้ฮาร์ดแวร์ลอยตัวอาจส่งผลให้ประสิทธิภาพดีกว่าการดำเนินการจำนวนเต็มเพิ่มเติมขณะที่หน่วยจุดลอยอยู่ในสถานะไม่ได้ใช้งาน นี่คือกรณีที่มีการแสดงผลกราฟิกที่เกิดขึ้นโดยใช้จุดลอยตัวบนหน่วยประมวลผลกราฟิก (GPU) แทนที่จะเป็น CPU มันจะไม่สมเหตุสมผลที่จะย้ายการคำนวณการแสดงผลไปยัง CPU เพื่อที่จะใช้ integers เนื่องจากจะเพิ่มภาระงานของ CPU เท่านั้นและยอมให้ GPU เสียไป หากฮาร์ดแวร์มีการสนับสนุนจุดลอยตัวในตัวการดำเนินการทั่วไปเช่นการเพิ่มจุดลอยการลบ ฯลฯ สามารถจัดการได้โดยคำสั่งเดียว ถ้าฮาร์ดแวร์ไม่ได้มีหน่วยทศนิยม (ทั่วไปในตัวประมวลผลแบบฝัง) การดำเนินงานของจุดคงที่จะต้องได้รับการจัดการโดยการปฏิบัติตามซอฟต์แวร์ ดังนั้นการเพิ่มสองค่าจุดลอยตัวจะต้องมีคำแนะนำหลายสิบรายการเพื่อให้สมบูรณ์แทนเพียงจุดเดียว เหล่านี้จะหลายร้อยครั้งช้ากว่าจำนวนเต็มและจะใช้ก้อนใหญ่ของหน่วยความจำโปรแกรมที่พร้อมใช้งาน อัลกอริทึมส่วนใหญ่สามารถใช้งานได้โดยใช้จำนวนเต็มด้วยความคิดนิดหน่อย การใช้จุดลอยมักเป็นผลจากความขี้เกียจที่แท้จริง อย่าใช้ทศนิยมเพียงเพราะใช้งานง่าย ใช้พลังงานมากขึ้น ซีพียูบรรลุการใช้พลังงานสูงสุดเมื่อทำการคำนวณจุดลอยตัวแบบเข้มข้น นี่ไม่ใช่สิ่งที่เห็นได้ชัดบนพีซีเดสก์ท็อป แต่อาจกลายเป็นปัญหาเกี่ยวกับกริดขนาดใหญ่ที่ประกอบด้วยหลายร้อยเครื่องเนื่องจากพีซีที่เชื่อมต่ออยู่อาจไม่ได้รับการออกแบบมาเพื่อให้ได้ผลสูงสุด นอกจากนี้ยังอาจเป็นปัญหาเมื่อใช้แล็ปท็อปในแบตเตอรี่ขณะที่ทำการคำนวณอย่างเข้มข้น อายุการใช้งานแบตเตอรี่ในขณะที่ทำการคำนวณแบบลอยตัวแบบลอยตัวอาจเป็นเพียงเศษเสี้ยวเล็ก ๆ ในขณะที่อ่านอีเมลเรียกดูเว็บหรือแก้ไขเอกสารใน OpenOffice

No comments:

Post a Comment