.NET Core - ตัวเลข
.NET Core รองรับอนุพันธ์เลขมาตรฐานและเลขทศนิยม นอกจากนี้ยังรองรับประเภทต่อไปนี้ -
System.Numerics.BigInteger ซึ่งเป็นประเภทอินทิกรัลที่ไม่มีขอบเขตบนหรือล่าง
System.Numerics.Complex เป็นประเภทที่แสดงถึงจำนวนเชิงซ้อน
ชุดประเภทเวกเตอร์ที่เปิดใช้งาน Single Instruction Multiple Data (SIMD) ใน System.Numerics namespace
ประเภทปริพันธ์
.NET Core สนับสนุนทั้งจำนวนเต็มที่ลงนามและไม่ได้ลงนามในช่วงที่แตกต่างกันตั้งแต่ความยาวหนึ่งไบต์ถึงแปดไบต์ จำนวนเต็มทั้งหมดเป็นประเภทค่า
ตารางต่อไปนี้แสดงถึงประเภทอินทิกรัลและขนาด
ประเภท | ลงชื่อ / ไม่ได้ลงนาม | ขนาด (ไบต์) | มูลค่าขั้นต่ำ | ค่าสูงสุด |
---|---|---|---|---|
ไบต์ | ไม่ได้ลงนาม | 1 | 0 | 255 |
Int16 | ลงชื่อ | 2 | −32,768 | 32,767 |
Int32 | ลงชื่อ | 4 | −2,147,483,648 | 2,147,483,647 |
Int64 | ลงชื่อ | 8 | −9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
SByte | ลงชื่อ | 1 | -128 | 127 |
UInt16 | ไม่ได้ลงนาม | 2 | 0 | 65,535 |
UInt32 | ไม่ได้ลงนาม | 4 | 0 | 4,294,967,295 |
UInt64 | ไม่ได้ลงนาม | 8 | 0 | 18,446,744,073,709,551,615 |
อินทิกรัลแต่ละประเภทสนับสนุนชุดมาตรฐานของเลขคณิตการเปรียบเทียบความเท่าเทียมการแปลงอย่างชัดเจนและตัวดำเนินการแปลงโดยนัย
คุณยังสามารถทำงานกับแต่ละบิตในค่าจำนวนเต็มโดยใช้คลาส System.BitConverter
ประเภทจุดลอยตัว
.NET Core ประกอบด้วยจุดลอยตัวแบบดั้งเดิมสามประเภทซึ่งแสดงในตารางต่อไปนี้
ประเภท | ขนาด (ไบต์) | มูลค่าขั้นต่ำ | ค่าสูงสุด |
---|---|---|---|
สองเท่า | 8 | −1.79769313486232e308 | 1.79769313486232e308 |
โสด | 4 | −3.402823e38 | 3.402823e38 |
ทศนิยม | 16 | −79,228,162,514,264,337,593,5 43,950,335 | 79,228,162,514,264,337,593,543,9 50,335 |
ทศนิยมแต่ละประเภทสนับสนุนชุดมาตรฐานของเลขคณิตการเปรียบเทียบความเท่าเทียมการแปลงอย่างชัดเจนและตัวดำเนินการแปลงโดยนัย
คุณยังสามารถทำงานกับแต่ละบิตในค่า Double และ Single ได้โดยใช้คลาส BitConverter
โครงสร้างทศนิยมมีวิธีการของตัวเองทศนิยม GetBits และ Decimal.Decimal (Int32 ()) สำหรับการทำงานกับแต่ละบิตของค่าทศนิยมรวมถึงชุดวิธีการของตัวเองสำหรับการดำเนินการทางคณิตศาสตร์เพิ่มเติม
BigInteger
System.Numerics.BigInteger เป็นประเภทที่ไม่เปลี่ยนรูปซึ่งแสดงถึงจำนวนเต็มขนาดใหญ่โดยพลการซึ่งค่าในทางทฤษฎีไม่มีขอบเขตบนหรือล่าง
วิธีการของประเภท BigInteger นั้นขนานกันอย่างใกล้ชิดกับประเภทอินทิกรัลอื่น ๆ
ซับซ้อน
ประเภท System.Numerics.Complex แทนจำนวนเชิงซ้อนกล่าวคือจำนวนที่มีส่วนจำนวนจริงและส่วนจำนวนจินตภาพ
สนับสนุนชุดมาตรฐานของเลขคณิตการเปรียบเทียบความเท่าเทียมการแปลงอย่างชัดเจนและตัวดำเนินการแปลงโดยนัยตลอดจนวิธีการทางคณิตศาสตร์พีชคณิตและตรีโกณมิติ
SIMD
เนมสเปซ Numerics ประกอบด้วยชุดเวกเตอร์ที่เปิดใช้งาน SIMD สำหรับ. NET Core
SIMD ช่วยให้การดำเนินการบางอย่างสามารถขนานกันได้ในระดับฮาร์ดแวร์ซึ่งส่งผลให้มีการปรับปรุงประสิทธิภาพอย่างมากในแอปทางคณิตศาสตร์วิทยาศาสตร์และกราฟิกที่ทำการคำนวณบนเวกเตอร์
ประเภทเวกเตอร์ที่เปิดใช้งาน SIMD ใน. NET Core มีดังต่อไปนี้ -
System.Numerics.Vector2, System.Numerics.Vector3 และ System.Numerics.Vector4 ประเภทซึ่งเป็นเวกเตอร์ 2, 3 และ 4 มิติประเภท Single
โครงสร้าง Vector <T> ที่ช่วยให้คุณสร้างเวกเตอร์ของประเภทตัวเลขดั้งเดิมใด ๆ ประเภทตัวเลขดั้งเดิมรวมถึงประเภทตัวเลขทั้งหมดในเนมสเปซของระบบยกเว้นทศนิยม
เมทริกซ์สองประเภท System.Numerics.Matrix3 × 2 ซึ่งแสดงถึงเมทริกซ์ 3 × 2 และ System.Numerics.Matrix4 × 4 ซึ่งแสดงถึงเมทริกซ์ 4 × 4
ชนิด System.Numerics.Plane ซึ่งแสดงถึงระนาบสามมิติและชนิด System.Numerics.Quaternion ซึ่งแสดงถึงเวกเตอร์ที่ใช้ในการเข้ารหัสการหมุนทางกายภาพสามมิติ