การใช้ i และ j เป็นตัวแปรใน Matlab


142

iและjเป็นชื่อตัวแปรที่นิยมมาก (ดูเช่นคำถามนี้นี้และชื่อนี้ )

ตัวอย่างเช่นในลูป:

for i=1:10,
    % do something...
end

ตามดัชนีเข้าสู่เมทริกซ์:

mat( i, j ) = 4;

เหตุใดจึงไม่ควรใช้เป็นชื่อตัวแปรใน Matlab


5
แน่นอนฉันจะไม่ตั้งค่าสถานะดังกล่าว แต่ตัดสินจากคำตอบที่ฉันพูดได้ว่านี่คือ ;-) ผมเองจะไม่ให้ขึ้นไปบนi, j, kเป็นชื่อตัวแปรห่วงทั่วไป
A. Donda

1
@ A.Donda ดีนี้เป็นของคุณมีความคิดเห็น;)
Shai

@Shai นี่เป็นประโยคสุดท้ายของคุณในคำถามนี้: "ทำไมพวกเขาไม่ควรใช้เป็นชื่อตัวแปรใน Matlab" ดังนั้นจึงไม่มีความชัดเจนว่าทำไมคุณถึงปฏิเสธฉบับของฉันสำหรับคำถามของคุณ! ฉันเปลี่ยนชื่อของคุณเป็นชื่อที่สร้างสรรค์มากขึ้น"ทำไมไม่ควรใช้ i และ j เป็นตัวแปรใน Matlab"
Seyfi

คำตอบ:


176

เพราะiและjทั้งสองฟังก์ชั่นแสดงถึงหน่วยจินตนาการ :

ดังนั้นตัวแปรที่เรียกว่าiหรือjจะแทนที่พวกเขาอาจทำลายรหัสเงียบที่ทำคณิตศาสตร์ที่ซับซ้อน

วิธีแก้ปัญหาที่เป็นไปได้ ได้แก่ การใช้iiและjjตัวแปรลูปแทนหรือใช้1iทุกครั้งที่iต้องการเพื่อแสดงหน่วยจินตภาพ


42
นอกจากนี้ยังควรทราบว่าแม้ว่าคุณจะไม่ได้ทำลายอะไรเลยเวลาดำเนินการยังคงเสียสละเพื่อแก้ไขiและjชื่อตัวแปร
Eitan T

14
@Eitan: คุณสามารถสำรองข้อมูลดังกล่าวได้อย่างเป็นรูปธรรมใน Matlab ที่คอมไพล์ด้วย JIT หรือไม่? ฉันไม่เคยพบว่าเป็นกรณี (และการทดสอบอย่างง่าย ๆ ที่เรียกว่าforลูป 1 พันล้านครั้งไม่แสดงความแตกต่างทางสถิติในเวลา) สำหรับทุกคนที่เรารู้ว่ามีรหัสพิเศษในการจัดการตรงนี้และการใช้ตัวแปรอื่น ๆ นอกเหนือจากiและj(และk?) เป็นจริงช้าลงเล็กน้อย และความแตกต่างที่เกิดขึ้นนั้นมีน้อยมากในชีวิตจริง ไม่มีเหตุผลที่จะไม่ใช้iและjเป็นตัวแปรปกติ - เพียงแค่ต้องใช้อย่างถูกต้องเหมือนกับฟังก์ชัน Matlab อื่น ๆ
horchler

5
@horchler ดีเอกสารอย่างเป็นทางการของรัฐที่นี่ที่เอาชนะคลาส MATLAB มาตรฐาน "สามารถส่งผลกระทบในเชิงลบประสิทธิภาพ" และที่นี่ก็ส่อให้เห็นเพื่อหลีกเลี่ยงการเอาชนะค่าคงที่ซับซ้อนด้วยเหตุผลของความเร็วเช่นเดียวกับความทนทาน ในเอกสารเก่าของ R2009bขอแนะนำอย่างชัดเจนต่อการเอาชนะค่าคงที่ที่ซับซ้อนเนื่องจากอาจเป็นอุปสรรคต่อการเร่ง JIT การจำแนกชื่อแบบผันแปรอาจเป็นขนาดเล็ก แต่อาจมีความสำคัญหากทำซ้ำหลายล้านครั้ง
Eitan T

14
ใน Matlab รุ่นโบราณอาจจะเป็น ฉันเคยเห็นว่าตัวเอง แต่อย่างน้อยก็ไม่ต้องใช้ R2012a + (OS X) อย่างน้อย และฉันไม่เห็นความแตกต่างเมื่อโทรforวนซ้ำ 1 พันล้านครั้งและลองใช้แผนการจับเวลาทุกรูปแบบ ฉันเห็นผู้ใช้ SO รายใหม่ที่ได้รับแจ้งว่ารหัสที่ถูกต้องสมบูรณ์นั้นผิดเพราะใช้iและjวนซ้ำ ตรงไปตรงมามันโง่และผู้คนขาดจุดสำคัญของคำถามนี้: iและjไม่ควรใช้กับหน่วยจินตภาพหากใครต้องการเขียนรหัส Matlab สมัยใหม่ที่อ่านได้
horchler

12
การประหยัดเวลาที่สำคัญของฉันคือเมื่อทำการค้นหา ii การค้นหาฉันอาจเป็นความเจ็บปวดที่แท้จริง
craq

62

เป็นวิธีปฏิบัติที่ดีในการหลีกเลี่ยงiและjตัวแปรเพื่อป้องกันความสับสนว่าเป็นตัวแปรหรือหน่วยจินตภาพ

อย่างไรก็ตามโดยส่วนตัวแล้วฉันใช้iและjเป็นตัวแปรค่อนข้างบ่อยเหมือนดัชนีของลูปสั้น เพื่อหลีกเลี่ยงปัญหาในรหัสของฉันฉันได้ปฏิบัติตามแนวปฏิบัติที่ดีอีกข้อหนึ่งเกี่ยวกับiและj: อย่าใช้พวกเขาเพื่อแสดงถึงจำนวนจินตภาพ ในความเป็นจริงสถานะเอกสารของ Matlab :

สำหรับความเร็วและความทนทานที่ดีขึ้น, คุณสามารถแทนที่ซับซ้อนiและโดยj1i

ดังนั้นแทนที่จะหลีกเลี่ยงชื่อตัวแปรที่ใช้กันมากสองชื่อเนื่องจากความขัดแย้งที่อาจเกิดขึ้นฉันชัดเจนเกี่ยวกับตัวเลขในจินตนาการ มันทำให้รหัสของฉันชัดเจนยิ่งขึ้น เมื่อใดก็ตามที่ฉันเห็น1iฉันรู้ว่ามันหมายถึงsqrt(-1)เพราะมันอาจจะไม่เป็นตัวแปร


2
1iมันย่อมปฏิบัติที่ดีในการใช้งาน อย่างไรก็ตามการเปลี่ยนความหมายของiและjอาจนำไปสู่ข้อผิดพลาดที่ยากต่อการดีบักเช่นนี้นี้
ไช่

1
@ จุดที่ดีของไทย ฉัน tweaked คำตอบของฉันเพื่อรับทราบว่าการหลีกเลี่ยงiและjดีที่สุด แต่อธิบายว่าสไตล์การเข้ารหัสส่วนบุคคลของฉันไม่เป็นไปตามกฎนั้นได้อย่างไร
shoelzer

2
โปรดทราบว่าความเร็วดังกล่าวไม่ได้มีความสำคัญมาก: stackoverflow.com/questions/18163454/…
Dennis Jaheruddin

เห็นด้วยอย่างสิ้นเชิง! แนวปฏิบัติที่ดีคือการใช้เสมอ1iและไม่ใช่iสำหรับคณิตศาสตร์ที่ซับซ้อน ลองนึกภาพจำนวนจินตภาพ1iและลองคิดดูว่าการคิดเลขiเป็นจินตภาพเป็นการปฏิบัติที่ไม่ดี ไม่ใช่วิธีอื่น ๆ การใช้i, ii, iiiเป็นเรื่องธรรมดาใน Matlab และไม่มีปัญหาเมื่อมีคนติด1iและ1jจำนวนที่ซับซ้อน Matlab ยังเคารพสิ่งนี้และสิ่งนี้ไม่ลดประสิทธิภาพ (เท่าที่ฉันทดสอบ) ตามที่ระบุไว้ในคำตอบก่อนหน้า
SdidS

i และ j ไม่ควรใช้ต่อไป - ตัวเลขเหล่านั้นมีความหมายบางอย่าง - ใช้ชื่อที่อธิบายวัตถุประสงค์ (row_n, elementNo, listItemIndex และอื่น ๆ ) ดังนั้นง่ายมากสำหรับคนที่จะเข้าใจสิ่งที่คุณกำลังทำเพื่อแก้ปัญหา ฯลฯ เวลาพิเศษที่ใช้เป็นมูลค่ากว่ากำไรในการบำรุงรักษาระยะยาวสำหรับอะไรมากไปกว่าสคริปต์จากเส้นข้างไป - แม้จะมีการแก้ไข Matlab เป็นดีอยู่เบื้องหลัง IDEs ที่ทันสมัยอื่น ๆ ส่วนใหญ่
LightCC

27

ใน MATLAB รุ่นเก่ามีเหตุผลที่ดีที่จะหลีกเลี่ยงการใช้iและjเป็นชื่อตัวแปร - รุ่นแรกของ MATLAB JIT ไม่ฉลาดพอที่จะบอกได้ว่าคุณใช้พวกเขาเป็นตัวแปรหรือหน่วยจินตภาพและดังนั้นจึง ปิดการเพิ่มประสิทธิภาพที่เป็นไปได้อื่น ๆ

รหัสของคุณจะช้าลงเนื่องจากสถานะiและjตัวแปรต่าง ๆ และจะเพิ่มความเร็วขึ้นหากคุณเปลี่ยนเป็นอย่างอื่น นั่นเป็นเหตุผลที่ถ้าคุณอ่านรหัส MathWorks มากคุณจะเห็นiiและjjใช้อย่างกว้างขวางว่าเป็นดัชนีวนรอบ ในขณะที่ MathWorks อาจมีคนแนะนำอย่างไม่เป็นทางการให้ทำเอง (แม้ว่าพวกเขาจะแนะนำผู้คนอย่างเป็นทางการในการเขียนโปรแกรมเพื่อความสง่างาม / การดูแลรักษาแทนที่จะเป็นสิ่งที่ JIT ปัจจุบันทำเพราะเป็นเป้าหมายที่เคลื่อนไหวในแต่ละรุ่น)

แต่ค่อนข้างนานมาแล้วและทุกวันนี้มันเป็นปัญหาเล็กน้อยของ "ซอมบี้" ที่สำคัญน้อยกว่าหลาย ๆ คนที่ยังคิด แต่ปฏิเสธที่จะตาย

ในรุ่นล่าสุดใด ๆ มันเป็นความชอบส่วนตัวว่าจะใช้iและjเป็นชื่อตัวแปรหรือไม่ หากคุณทำงานกับตัวเลขที่ซับซ้อนจำนวนมากคุณอาจต้องการหลีกเลี่ยงiและjเป็นตัวแปรเพื่อหลีกเลี่ยงความเสี่ยงที่อาจเกิดความสับสนเล็กน้อย (แม้ว่าคุณอาจ / / ต้องการที่จะใช้1iหรือเพียง1jเพื่อความสับสนน้อยลงและประสิทธิภาพที่ดีขึ้นเล็กน้อย )

ในทางกลับกันในงานทั่วไปของฉันฉันไม่เคยจัดการกับตัวเลขที่ซับซ้อนและฉันพบว่าโค้ดของฉันอ่านง่ายขึ้นถ้าฉันรู้สึกอิสระที่จะใช้ iและjเป็นดัชนีลูป


ฉันเห็นคำตอบมากมายที่นี่ที่พูด ไม่แนะนำ ...โดยไม่บอกว่าใครกำลังทำอยู่แนะนำ นี่คือขอบเขตของคำแนะนำจริงของ MathWorks จากเอกสารเผยแพร่ล่าสุดสำหรับi:

เนื่องจาก i เป็นฟังก์ชันจึงสามารถเขียนทับและใช้เป็นตัวแปรได้ อย่างไรก็ตามวิธีที่ดีที่สุดคือหลีกเลี่ยงการใช้ i และ j สำหรับชื่อตัวแปรถ้าคุณตั้งใจจะใช้ในการคำนวณเชิงซ้อน [... ] เพื่อความเร็วและความทนทานที่ดีขึ้นคุณสามารถแทนที่ complex i และ j by 1i


15

ดังที่อธิบายไว้ในคำตอบอื่น ๆiไม่แนะนำให้ใช้รหัสทั่วไปด้วยเหตุผลสองประการ:

  • หากคุณต้องการใช้ตัวเลขในจินตนาการดัชนีอาจสับสนหรือถูกเขียนทับโดย
  • หากคุณใช้มันเป็นดัชนีมันสามารถเขียนทับหรือสับสนกับจำนวนในจินตนาการ

ตามที่แนะนำ: 1iและได้iiรับการแนะนำ อย่างไรก็ตามถึงแม้ว่าสิ่งเหล่านี้จะเบี่ยงเบนไปจากทั้งคู่iแต่ก็ไม่ค่อยดีนักที่จะใช้ตัวเลือกทั้งสองร่วมกัน

นี่คือตัวอย่างทำไม (ส่วนตัว) ฉันไม่ชอบ:

val2 = val + i  % 1
val2 = val + ii % 2
val2 = val + 1i % 3

หนึ่งจะไม่ถูกเข้าใจผิดอย่างง่ายดายสำหรับสองหรือสาม แต่สองและสามมีลักษณะคล้ายกัน

ก่อนคำแนะนำส่วนตัวของฉันจะเป็น: ในกรณีที่บางครั้งคุณทำงานกับรหัสที่ซับซ้อนมักจะใช้1iรวมกับตัวแปรลูปที่แตกต่างกัน

ตัวอย่างของดัชนีตัวอักษรเดียวว่าถ้าคุณไม่ได้ใช้ตัวแปรหลายวงและตัวอักษรพอเพียง: t, u, kและp

ตัวอย่างของดัชนีอีกต่อไป: i_loop, step, walkและt_now

แน่นอนว่านี่เป็นเรื่องของรสนิยมส่วนตัวเช่นกัน แต่ไม่ควรยากที่จะหาดัชนีที่จะใช้ซึ่งมีความหมายชัดเจนโดยไม่ต้องเติบโตนานเกินไป


1
1i หมายถึงหน่วยจินตภาพ (ยัง Matlab ชื่อตัวแปรไม่สามารถเริ่มต้นด้วยตัวเลข)
lib

2
@DennisJaheruddin: ปลั๊กไร้ยางอาย: ใช้ไวยากรณ์ MATLAB ของฉันเพื่อเน้นuserscriptสำหรับ Stack Overflow ในตัวอย่างที่ผ่านมา1iจะได้รับการสีแตกต่างกันเป็นจำนวน :)
Amro

2
ตรงจากdoc iและdoc j: "เพื่อความเร็วและความทนทานที่ดีขึ้นคุณสามารถแทนที่ i และ j ที่ซับซ้อนได้ด้วย 1i" IMO ใน Matlab ปัจจุบันไม่มีเหตุผลที่จะไม่ใช้iและjในลูปเป็นต้นหรือใช้สิ่งอื่นนอกเหนือจาก1iเพื่อแสดงถึงหน่วยจินตภาพ ( 1jทำงานด้วย) ข้อยกเว้นเพียงอย่างเดียวคือเมื่อส่งสตริงไปยังเอ็นจิน Symbolic ที่เข้ากันไม่ได้เล็กน้อย แปลกhelp 1iและdoc 1iไม่ทำงานแม้ว่า
horchler

11

มันก็ชี้ให้เห็นว่า1iเป็นวิธีที่ได้รับการยอมรับและโปร่งใสในการเขียนและที่เป็นเช่นนี้ไม่มีความจำเป็นที่จะต้องหลีกเลี่ยงการใช้sqrt(-1) iจากนั้นอีกครั้งขณะที่เดนนิสชี้ให้เห็น ( https://stackoverflow.com/a/14893729/1967396 ) มันยากที่จะเห็นความแตกต่างระหว่างและ1i iiคำแนะนำของฉัน: ใช้1jเป็นค่าคงที่จินตภาพที่เป็นไปได้ มันเป็นเคล็ดลับที่เดียวกันกับที่วิศวกรไฟฟ้าจ้าง - พวกเขาใช้jสำหรับsqrt(-1)เนื่องจากiถูกใช้ไปแล้วสำหรับปัจจุบัน

ส่วนตัวฉันไม่เคยใช้iและj; ฉันใช้iiและjjเป็นดัชนีการทำดัชนีแบบสั้น (และ kk, ll, mm, ... ) และ1jเมื่อฉันต้องการใช้ตัวเลขที่ซับซ้อน


2
"มันยากที่จะเห็นความแตกต่างระหว่าง1iและii" และมากยิ่งขึ้นความแตกต่างระหว่าง1และlระหว่างและO 0นั่นเป็นเหตุผลที่ขั้นตอนแรกที่ฉันทำในการติดตั้ง MATALB ใหม่คือการเปลี่ยนขนาดตัวอักษรเริ่มต้น
glglgl

6

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

  1. MATLAB โดยเฉพาะ: หากคุณใช้ coder เพื่อสร้างแหล่ง C ++ จากรหัส MATLAB ของคุณ (ไม่น่ากลัวมาก) จากนั้นคุณจะได้รับคำเตือนอย่างชัดเจนว่าไม่ให้นำตัวแปรมาใช้ใหม่เนื่องจากอาจมีการพิมพ์ผิดพลาด

  2. โดยทั่วไปและขึ้นอยู่กับ IDE ของคุณชื่อตัวแปรตัวอักษรตัวเดียวสามารถทำให้เกิดความเสียหายด้วยปากกาเน้นข้อความและค้นหา / แทนที่ MATLAB ไม่ได้รับความทุกข์ทรมานจากสิ่งนี้และฉันเชื่อว่า Visual Studio ไม่มีปัญหาในบางครั้ง แต่มาตรฐานการเข้ารหัส C / C ++ เช่น MISRA ฯลฯ มักจะแนะนำให้พวกเขาขุ่นเคือง

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


4

รหัสที่ไม่สำคัญมีหลายforลูปและแนวทางปฏิบัติที่ดีที่สุดแนะนำให้คุณใช้ชื่อที่สื่อความหมายถึงวัตถุประสงค์และขอบเขตของมัน สำหรับเวลานมนาน (และถ้าสคริปต์ 5-10 เส้นว่าผมไม่ได้จะประหยัด), ฉันได้รับเสมอโดยใช้ชื่อตัวแปรเช่นidxTask, idxAnotherTaskและidxSubTaskอื่น ๆ

หรืออย่างน้อยที่สุดสองเท่าของตัวอักษรตัวแรกของอาร์เรย์มันคือการจัดทำดัชนีเช่นssการจัดทำดัชนีsubjectList, ttการจัดทำดัชนีtaskListแต่ไม่ได้iiหรือjjซึ่งไม่ได้ช่วยให้ฉันได้อย่างง่ายดายระบุอาร์เรย์ที่พวกเขากำลังทำดัชนีจากหลายของฉันสำหรับลูป


3

โดยค่าเริ่มต้นiและjยืนสำหรับหน่วยจินตภาพ ดังนั้นจากมุมมองของ MATLAB การใช้iเป็นตัวแปรก็เหมือนกับการใช้1เป็นตัวแปร


5
ฉันไม่คิดว่ามันจะเป็นอย่างนั้น i เป็นชื่อตัวแปรที่ถูกต้องดังนั้นคุณจึงสามารถใช้ i และ j เป็นชื่อตัวแปรได้ ในฐานะที่เป็นคำตอบก่อนหน้ากล่าวถึงจะปกปิดความหมายในจินตนาการ 1 ไม่ใช่ชื่อตัวแปรที่ถูกต้อง มันใช้ได้ทั้งหมดถ้าคุณไม่เคยใช้ตัวเลขที่ซับซ้อน
Thang

@thang นั่นคือสาเหตุที่ฉันพูดว่า "ชอบ" และไม่ชอบ " ฉันรู้ว่ามีความแตกต่าง OP ถามว่าทำไมไม่ควรใช้ฉันพยายามอธิบายว่าเป็นเพราะพวกเขาแสดงหมายเลขแล้ว
yo '

2
โอเคขอโทษฉันไม่รู้เหมือนกันว่าหมายถึงอะไร สำหรับฉันมันแตกต่างกันอย่างชัดเจนเพราะคุณไม่สามารถใช้ 1 เป็นตัวแปรแม้ว่าคุณต้องการ ... แต่ฉันเห็นว่าคุณมาจากไหน
Thang

คุณ สามารถใช้มันได้เนื่องจากคุณยังสามารถใช้ชื่อฟังก์ชั่นที่มีอยู่สำหรับตัวแปร (และในเวลาเดียวกันทำให้เกิดความเสียหายต่อฟังก์ชั่น / ค่าคงที่เหล่านั้นเพื่อใช้งานต่อไป) ไม่ว่าคุณต้องการที่จะเป็นอีกสิ่งหนึ่ง (imo คำตอบง่ายๆ: ไม่มี)
Gunther Struyf

1
ขออภัยคำอธิบายนี้ไม่สมเหตุสมผล iและjเป็นจริงฟังก์ชั่นการกลับค่าของหน่วยจินตนาการ เป็นไปได้ที่จะใช้ตัวแปรที่มีชื่อเดียวกันกับฟังก์ชั่นในขอบเขต อย่างไรก็ตามสิ่งนี้จะทำให้ฟังก์ชั่นเงา
patrik

2

ถ้าคุณเป็นผู้ใช้ที่สับสนมากฉันคิดว่ามีความเสี่ยงน้อยมากในการใช้ชื่อตัวแปรiและjและฉันใช้มันเป็นประจำ ฉันไม่ได้เห็นสิ่งบ่งชี้ทางการใด ๆ ที่ควรหลีกเลี่ยง

ในขณะที่มันเป็นความจริงที่การแรเงาหน่วยจินตภาพอาจทำให้เกิดความสับสนในบางบริบทดังที่กล่าวไว้ในโพสต์อื่น ๆ โดยรวมแล้วฉันไม่เห็นว่ามันเป็นปัญหาใหญ่ มีสิ่งที่สับสนมากกว่าที่คุณสามารถทำได้ใน MATLAB เช่นการกำหนดfalse=true

ในความคิดของฉันครั้งเดียวที่คุณควรหลีกเลี่ยงคือถ้ารหัสของคุณเกี่ยวข้องกับตัวเลขในจินตนาการ


คุณกรุณาแสดงความคิดเห็นเมื่อลงคะแนนได้ไหม ตัวอย่างเช่นมีลิงก์ Mathworks ที่ระบุว่าไม่แนะนำให้ฝึกหัด (ซึ่งมีการโพสต์โดยผู้โพสต์หลายคนโดยไม่อ้างอิงแนวทางที่เป็นทางการ) ในความเป็นจริงการใช้ 'i' ในลูปนั้นถูกใช้ในตัวอย่างอย่างเป็นทางการโดย Mathworks จากประสบการณ์ของฉันมันทำให้รหัสชัดเจนและรัดกุมและเป็นเรื่องธรรมดามาก
gregswiss

1
การอ้างถึงเอกสาร "เนื่องจากiเป็นฟังก์ชั่นจึงสามารถเขียนทับและใช้เป็นตัวแปรได้อย่างไรก็ตามควรหลีกเลี่ยงการใช้iและjชื่อตัวแปรหากคุณตั้งใจจะใช้มันในการคำนวณเชิงซ้อน" ร่วมกับความคิดเห็นของ Eitan T ในคำตอบของ Oliver (ฉันเดาว่าเขาหมดเวลาแล้ว) ดูเหมือนจะมีหลักฐานเพียงพอ
Adriaan

1
โปรดทราบว่ามีคำตอบจาก 2013พร้อมความคิดเห็นที่กล่าวถึงโดย @Adriaan
Andras Deak

1
ดังนั้นเอกสารระบุว่าถ้าคุณตั้งใจจะใช้ในการคำนวณทางคณิตศาสตร์ที่ซับซ้อนมิฉะนั้นก็ไม่ได้ใช้ - ไม่ทราบว่าทำไมทุกคนถึงยุ่งเกี่ยวกับมันที่นี่! ฉันแค่เสนอมุมมองทางเลือก
gregswiss
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.