แทนตัวเลขบนคอมพิวเตอร์ การแสดงตัวเลขในคอมพิวเตอร์ วิธีการแสดงตัวเลขในรูปแบบไบนารี่
ค่าสูงสุดของจำนวนเต็มที่ไม่เป็นลบจะเกิดขึ้นได้เมื่อเซลล์ทั้งหมดมีจำนวนเต็ม สำหรับการแสดง n บิตมันจะเท่ากับ
จำนวนเต็มที่ไม่เป็นลบ- จำนวนขั้นต่ำสอดคล้องกับศูนย์แปดตัวที่จัดเก็บไว้ในแปดบิตของเซลล์หน่วยความจำและเท่ากับศูนย์ จำนวนสูงสุดสอดคล้องกับแปดหน่วยและเท่ากับ
A = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 1 × 2 8 - 1 = 255 10.
ช่วงของการเปลี่ยนแปลง จำนวนเต็มที่ไม่เป็นลบตัวเลข: ตั้งแต่ 0 ถึง 255
สำหรับการจัดเก็บ จำนวนเต็มลงนามมีการจัดสรรเซลล์หน่วยความจำสองเซลล์ (16 บิต) และบิตที่สำคัญที่สุด (ซ้าย) จะถูกจัดสรรให้กับเครื่องหมายของตัวเลข (หากตัวเลขเป็นบวก 0 จะถูกเขียนลงในบิตเครื่องหมายหากตัวเลขเป็นลบ - 1) .
การแทนจำนวนบวกในคอมพิวเตอร์โดยใช้รูปแบบเครื่องหมายขนาดเรียกว่า รหัสโดยตรงตัวเลข ตัวอย่างเช่น ตัวเลข 2002 10 = 11111010010 2 จะแสดงในรูปแบบ 16 บิตดังนี้:
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
จำนวนบวกสูงสุด (อนุญาตให้มีหนึ่งหลักต่อเครื่องหมาย) สำหรับจำนวนเต็มที่มีเครื่องหมายในการแสดง n บิตคือ:
ใช้แทนจำนวนลบ รหัสเพิ่มเติม. รหัสเพิ่มเติมช่วยให้คุณสามารถแทนที่การดำเนินการทางคณิตศาสตร์ของการลบด้วยการดำเนินการเพิ่มเติมซึ่งทำให้การทำงานของโปรเซสเซอร์ง่ายขึ้นอย่างมากและเพิ่มประสิทธิภาพ
รหัสส่วนเสริมของจำนวนลบ A ที่จัดเก็บไว้ในเซลล์ n คือ 2 n - |A|
ส่วนเสริมของ Two แสดงถึงการบวกโมดูลัสของจำนวนลบ A ถึง 0 เนื่องจากในเลขคณิตคอมพิวเตอร์ n บิต:
2 น - |ก| + |ก| = 0,
เนื่องจากในคอมพิวเตอร์ n-bit เลขคณิต 2 n = 0 แท้จริงแล้วการแทนเลขฐานสองของตัวเลขดังกล่าวประกอบด้วยหนึ่งหนึ่งและ n ศูนย์และมีเพียง n หลักที่มีลำดับต่ำเท่านั้นนั่นคือ n ศูนย์เท่านั้นที่สามารถใส่ลงใน n-bit เซลล์
หากต้องการรับโค้ดเสริมของจำนวนลบ คุณสามารถใช้อัลกอริทึมที่ค่อนข้างง่าย:
1. เขียนโมดูลของตัวเลขลงไป รหัสโดยตรงเป็นเลขฐานสอง
2. รับ รหัสส่งคืนเพื่อจุดประสงค์นี้ให้กลับค่าของบิตทั้งหมด (แทนที่ค่าทั้งหมดด้วยศูนย์และแทนที่ค่าศูนย์ทั้งหมดด้วยค่า)
3. เพิ่มหนึ่งรายการในโค้ดย้อนกลับผลลัพธ์
มาเขียนโค้ดเพิ่มเติมของจำนวนลบ -2002 สำหรับการแสดงคอมพิวเตอร์ 16 บิต:
เมื่อใช้การแสดงจำนวนลบ A ในโค้ดส่วนเสริมของ two แบบ n บิต บิตที่สำคัญที่สุดจะถูกจัดสรรเพื่อเก็บเครื่องหมายของตัวเลข (หนึ่ง) ตัวเลขที่เหลือเขียนเป็นตัวเลขบวก
หากต้องการให้จำนวนเป็นบวก เงื่อนไขต่อไปนี้จะต้องเป็นจริง:
|ก| 2 ปอนด์และ 1
เพราะฉะนั้น, ค่าสูงสุดโมดูลัสของตัวเลข A ในการแทนค่า he-digit เท่ากับ:
จากนั้นจำนวนลบขั้นต่ำคือ:
เรามากำหนดช่วงของตัวเลขที่สามารถเก็บได้ แรมในรูปแบบ จำนวนเต็มที่มีเครื่องหมายยาว(จัดสรรเซลล์หน่วยความจำสี่เซลล์เพื่อจัดเก็บตัวเลขดังกล่าว - 32 บิต)
จำนวนเต็มบวกสูงสุด (คำนึงถึงการจัดสรรหนึ่งหลักต่อเครื่องหมาย) เท่ากับ:
ก = 2 31 - 1 = 2 147 483 647 10.
จำนวนเต็มลบขั้นต่ำคือ:
ก = -2 31 = - 2 147 483 648 10.
ข้อดีของการแสดงตัวเลขในรูปแบบด้วย จุดคงที่คือความเรียบง่ายและชัดเจนของการแทนตัวเลข เช่นเดียวกับความเรียบง่ายของอัลกอริธึมสำหรับการดำเนินการทางคณิตศาสตร์
ข้อเสียของการแสดงตัวเลขในรูปแบบด้วย จุดคงที่เป็นช่วงเล็กๆ ของการแทนปริมาณ ซึ่งไม่เพียงพอสำหรับการแก้ปัญหาทางคณิตศาสตร์ ฟิสิกส์ เศรษฐศาสตร์ และปัญหาอื่นๆ ที่ใช้ทั้งจำนวนน้อยมากและมาก
การแสดงตัวเลขในรูปแบบจุดลอยตัวจำนวนจริงจะถูกจัดเก็บและประมวลผลในคอมพิวเตอร์ในรูปแบบ จุดลอยตัว- ในกรณีนี้ตำแหน่งของจุดทศนิยมในตัวเลขอาจมีการเปลี่ยนแปลง
รูปแบบตัวเลข จุดลอยตัวขึ้นอยู่กับสัญกรณ์เอ็กซ์โปเนนเชียล ซึ่งสามารถแสดงตัวเลขใดๆ ก็ได้ ดังนั้นตัวเลข A สามารถแสดงได้ดังนี้:
A = ม. × คิวn | 2.3 |
โดยที่ m คือแมนทิสซาของตัวเลข
q - ฐานของระบบตัวเลข
n - ลำดับหมายเลข
เพื่อการนำเสนอตัวเลขที่สม่ำเสมอ จุดลอยตัวมีการใช้รูปแบบปกติซึ่งแมนทิสซาตรงตามเงื่อนไข:
1/n £ |m|
ซึ่งหมายความว่าแมนทิสซาต้องเป็นเศษส่วนแท้และมีเลขหลักที่ไม่ใช่ศูนย์หลังจุดทศนิยม
ลองแปลงเลขฐานสิบ 555.55 ซึ่งเขียนในรูปแบบธรรมชาติ ให้เป็นรูปแบบเลขชี้กำลังด้วยแมนทิสซาที่ทำให้เป็นมาตรฐาน:
555.55 = 0.55555 × 10 3.
นี่คือแมนทิสซาที่ทำให้เป็นมาตรฐาน: m = 0.55555 ลำดับ: n = 3
ตัวเลขในรูปแบบจุดลอยตัวใช้เวลาถึง 4 ( ตัวเลขความแม่นยำปกติ) หรือ 8 ไบต์ ( จำนวนความแม่นยำสองเท่า- เมื่อเขียนตัวเลขทศนิยม บิตจะถูกจัดสรรเพื่อจัดเก็บเครื่องหมายแมนทิสซา เครื่องหมายเลขชี้กำลัง เลขชี้กำลัง และแมนทิสซา
ช่วงของตัวเลขถูกกำหนดโดยจำนวนบิตที่จัดสรรเพื่อจัดเก็บลำดับของตัวเลข และความแม่นยำ (จำนวนหลักที่มีนัยสำคัญ) ถูกกำหนดโดยจำนวนบิตที่จัดสรรเพื่อจัดเก็บแมนทิสซา
พิจารณาจำนวนสูงสุดและความแม่นยำของรูปแบบ ตัวเลขความแม่นยำธรรมดาหากจัดสรร 8 บิตเพื่อจัดเก็บลำดับและเครื่องหมาย และจัดสรร 24 บิตเพื่อจัดเก็บแมนทิสซาและเครื่องหมาย:
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
ลงชื่อและสั่งซื้อ | ลงชื่อและแมนทิสซา |
ค่าสูงสุดของลำดับของตัวเลขจะเป็น 1111111 2 = 127 10 ดังนั้นค่าสูงสุดของตัวเลขจะเป็น:
2 127 = 1.7014118346046923173168730371588 × 10 38.
ค่าสูงสุดของแมนทิสซาที่เป็นบวกคือ:
2 23 - 1 » 2 23 = 2 (10 × 2.3) » 1000 2.3 = 10 (3 × 2.3) » 10 7.
จึงมีค่าสูงสุด ตัวเลขความแม่นยำธรรมดาโดยคำนึงถึงความแม่นยำที่เป็นไปได้ของการคำนวณจะเป็น 1.701411 × 10 38 (จำนวนหลักที่มีนัยสำคัญของเลขทศนิยมในกรณีนี้จำกัดอยู่ที่ 7 หลัก)
เควส
1.26. กรอกตารางโดยการเขียนเลขทศนิยมเชิงลบในรูปแบบไปข้างหน้า ย้อนกลับ และส่วนเสริมในรูปแบบ 16 บิต:
1.27. กำหนดระยะการมองเห็น จำนวนเต็มลงนาม(จัดสรรหน่วยความจำ 2 ไบต์) ในรูปแบบจุดคงที่
1.28. กำหนดจำนวนสูงสุดและความแม่นยำของรูปแบบ ตัวเลขที่มีความแม่นยำสองเท่าหากจัดสรร 11 บิตเพื่อจัดเก็บลำดับและเครื่องหมาย และจัดสรร 53 บิตเพื่อจัดเก็บแมนทิสซาและเครื่องหมาย
จำนวนจริง (ตรงข้ามกับจำนวนเต็ม) ใน เทคโนโลยีคอมพิวเตอร์เรียกตัวเลขที่มีเศษส่วน
เมื่อเขียนพวกเขา แทนที่จะเป็นลูกน้ำ เป็นเรื่องปกติที่จะต้องเขียนจุด- ตัวอย่างเช่น เลข 5 เป็นจำนวนเต็ม และตัวเลข 5.1 และ 5.0 เป็นจำนวนจริง
เพื่อความสะดวกในการแสดงตัวเลขที่รับค่าจากช่วงที่ค่อนข้างกว้าง (คือ ทั้งเล็กและใหญ่มาก) รูปแบบการเขียนตัวเลขด้วย ลำดับฐานของระบบตัวเลข- ตัวอย่างเช่น เลขทศนิยม 1.25 สามารถแสดงในรูปแบบนี้ได้ดังนี้:
1.25*10 0 = 0.125*10 1 = 0.0125*10 2 = ... ,
หรือเช่นนี้:
12.5*10 -1 = 125.0*10 -2 = 1250.0*10 -3 = ... .
หากจุด “ลอยตัว” อยู่ในแมนทิสซาก่อนเลขนัยสำคัญตัวแรก จากนั้นด้วยจำนวนหลักคงที่ที่จัดสรรไว้สำหรับแมนทิสซา จำนวนสูงสุดของหลักที่มีนัยสำคัญของตัวเลขจะถูกบันทึก นั่นคือ ความแม่นยำสูงสุดของตัวเลข การแสดงในเครื่อง จากนี้จะเป็นดังนี้:
นี่คือการนำเสนอที่ได้เปรียบที่สุดสำหรับคอมพิวเตอร์ ตัวเลขจริงเรียกว่า ทำให้เป็นมาตรฐาน.
แมนทิสซาและลำดับของเลขคิวอารีมักจะเขียนในระบบด้วยฐาน q และฐานนั้นเขียนในระบบทศนิยม
ตัวอย่างของการเป็นตัวแทนแบบมาตรฐาน:
ระบบทศนิยม ระบบไบนารี่
753.15 = 0.75315*10 3 ; -101.01 = -0.10101*2 11 (ลำดับ 11 2 = 3 10)
0.000034 = -0.34*10 -4 ; -0.000011 = 0.11*2 -100 (ลำดับ -100 2 = -410)
จำนวนจริงเขียนแตกต่างกันในคอมพิวเตอร์ประเภทต่างๆ ในกรณีนี้คอมพิวเตอร์มักจะเปิดโอกาสให้โปรแกรมเมอร์เลือกรูปแบบตัวเลขหลายรูปแบบที่เหมาะสมที่สุดสำหรับงานเฉพาะ - โดยใช้สี่, หก, แปดหรือสิบไบต์
ตามตัวอย่าง ต่อไปนี้เป็นคุณลักษณะของรูปแบบจำนวนจริงที่ใช้โดยคอมพิวเตอร์ส่วนบุคคลที่เข้ากันได้กับ IBM:
รูปแบบจำนวนจริง | ขนาดเป็นไบต์ | ช่วงโดยประมาณของค่าสัมบูรณ์ | จำนวนหลักทศนิยมที่มีนัยสำคัญ |
เดี่ยว | 4 | 10 -45 ... 10 38 | 7 หรือ 8 |
จริง | 6 | 10 -39 ... 10 38 | 11 หรือ 12 |
สองเท่า | 8 | 10 -324 ... 10 308 | 15 หรือ 16 |
ขั้นสูง | 10 | 10 -4932 ... 10 4932 | 19 หรือ 20 |
จากตารางนี้จะเห็นได้ว่ารูปแบบจุดลอยตัวช่วยให้คุณสามารถเขียนตัวเลขได้อย่างแม่นยำและจากช่วงที่กว้างมาก
เมื่อเก็บเลขทศนิยมจะถูกจัดสรร ตัวเลขสำหรับแมนทิสซา เลขชี้กำลัง เครื่องหมายตัวเลข และเครื่องหมายเลขชี้กำลัง:
ให้เราแสดงตัวอย่างว่าตัวเลขบางตัวถูกเขียนในรูปแบบมาตรฐานในรูปแบบสี่ไบต์โดยมีเจ็ดบิตในการบันทึกลำดับอย่างไร
1. หมายเลข 6.25 10 = 110.01 2 = 0.11001
- 2 11:
2. จำนวน -0.125 10 = -0.0012 = -0.1*2 -10 (ลำดับเชิงลบเขียนในรูปของส่วนเติมเต็มสอง):
หากเราตรวจสอบเนื้อหาของหน่วยความจำคอมพิวเตอร์ได้ เราจะเห็นสิ่งต่อไปนี้:
ตัวเลขนี้สะท้อนให้เห็นถึง กฎ #1:ข้อมูล (และโปรแกรม) ในหน่วยความจำคอมพิวเตอร์จะถูกจัดเก็บในรูปแบบไบนารี่ เช่น ในรูปแบบของโซ่ศูนย์และหนึ่ง
กฎ #2:การแสดงข้อมูลในคอมพิวเตอร์โดยไม่แยกส่วน
ความรอบคอบคืออะไร?
คำตอบที่ใกล้เคียงที่สุด: "แยก"
หมายเหตุ: ชุดแยกประกอบด้วยองค์ประกอบที่แยกออกจากกัน ตัวอย่างเช่น ทรายไม่ต่อเนื่องเนื่องจากประกอบด้วยเม็ดทรายแต่ละเม็ด แต่น้ำหรือน้ำมันมีความต่อเนื่อง (ภายในกรอบของความรู้สึกของเรา เนื่องจากเรายังไม่สามารถรับรู้ถึงแต่ละโมเลกุลได้)
ตัวอย่างเช่น รูปภาพถูกสร้างขึ้นเพื่อรวบรวมจุดต่างๆ เช่น รอบคอบ
กฎ #3:ชุดของปริมาณที่แสดงในหน่วยความจำมีจำกัดและมีจำกัด
แทนตัวเลขบนคอมพิวเตอร์
จำนวนเต็มในคอมพิวเตอร์ (รูปแบบจุดคงที่)
อุปกรณ์คอมพิวเตอร์ใดๆ (คอมพิวเตอร์ เครื่องคิดเลข) สามารถทำงานได้กับจำนวนเต็มจำนวนจำกัดเท่านั้น ดูที่หน้าจอเครื่องคิดเลข มันมี 10 ตัวอักษร จำนวนบวกที่ใหญ่ที่สุดที่สามารถวางบนกระดานคะแนนได้:
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
จำนวนลบที่ใหญ่ที่สุดในค่าสัมบูรณ์:
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
สถานการณ์จะคล้ายกันในคอมพิวเตอร์
ตัวอย่างเช่น หากจัดสรรเซลล์หน่วยความจำ 16 บิตเป็นจำนวนเต็ม จำนวนบวกที่มากที่สุดจะเป็นดังนี้:
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
ในระบบเลขฐานสิบจะเท่ากับ:
2 15 -1=32767
บิตแรกมีบทบาทเป็นเครื่องหมายของตัวเลข ศูนย์เป็นสัญญาณของจำนวนบวก จำนวนลบสัมบูรณ์ที่ใหญ่ที่สุดคือ -32768
วิธีรับการเป็นตัวแทนภายใน:
1)
แปลงตัวเลขเป็น 32768 นิ้ว ระบบไบนารี่สัญกรณ์ก็เท่ากัน
1000000000000000 - ได้รับแล้ว รหัสโดยตรง
2) สลับรหัสไบนารี่นี้เช่น แทนที่ศูนย์ด้วยอัน และอันด้วยศูนย์ - เราได้รับ รหัสส่งคืน.
0111111111111111
3) เพิ่มหนึ่งเข้าไปในเลขฐานสองนี้ ผลลัพธ์คือ:
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
หนึ่งในบิตแรกหมายถึงเครื่องหมายลบ
(อย่าคิดว่าโค้ดที่ได้คือ "ลบศูนย์" รหัสนี้แทนตัวเลข -32768.)
นี่เป็นกฎสำหรับการแทนจำนวนเต็มด้วยเครื่อง การเป็นตัวแทนภายในของตัวเลขนี้เรียกว่า รหัสเพิ่มเติม.
หากจัดสรร N บิตสำหรับจำนวนเต็มในหน่วยความจำคอมพิวเตอร์ช่วงของค่าจำนวนเต็มคือ: [-2 N-1 -1, 2 N -1]
เราดูที่รูปแบบในการแสดงจำนวนเต็มที่มีเครื่องหมาย เช่น บวกและลบ มีหลายครั้งที่คุณจำเป็นต้องทำงานกับจำนวนเต็มบวกเท่านั้น ในกรณีนี้ จะใช้รูปแบบในการแสดงจำนวนเต็มที่ไม่ได้ลงนาม
ในรูปแบบนี้ จำนวนที่น้อยที่สุดคือศูนย์ และจำนวนน้อยที่สุด จำนวนมากสำหรับเซลล์ 16 บิต:
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
ในรูปแบบทศนิยม คือ 2 16 - 1 = 65535 ซึ่งเป็นสองเท่าของค่าสัมบูรณ์ของสัญลักษณ์ที่มีลายเซ็น
จำนวนเต็มในคอมพิวเตอร์ (รูปแบบจุดลอยตัว)
จำนวนที่มากที่สุดอาจแตกต่างกันไปในเครื่องคิดเลขแต่ละเครื่อง เครื่องคิดเลขที่ง่ายที่สุดคือ 999999999 หากคุณเพิ่มหน่วยอื่นเข้าไป เครื่องคิดเลขจะแสดงข้อความแสดงข้อผิดพลาด และสำหรับเครื่องคิดเลขที่ชาญฉลาดกว่า การเพิ่มหนึ่งเครื่องจะนำไปสู่ผลลัพธ์ต่อไปนี้:
1 |
จ |
+ |
0 |
9 |
ข้อความบนกระดานคะแนนมีดังต่อไปนี้ 1 x10 9
รูปแบบตัวเลขนี้เรียกว่า รูปแบบจุดลอยตัว.
1 |
จ |
+ |
0 |
9 |
แมนทิสซา |
ลำดับหมายเลข |
บนคอมพิวเตอร์ ตัวเลขสามารถแสดงได้ทั้งในรูปแบบจุดคงที่และจุดลอยตัว
ข้อมูลตัวเลขได้รับการประมวลผลในคอมพิวเตอร์โดยใช้ระบบเลขฐานสอง ตัวเลขจะถูกจัดเก็บไว้ในหน่วยความจำคอมพิวเตอร์ในรูปแบบรหัสไบนารี่ กล่าวคือ เป็นลำดับของศูนย์และหนึ่ง และสามารถแสดงในรูปแบบจุดคงที่หรือจุดลอยตัวได้
จำนวนเต็มจะถูกเก็บไว้ในหน่วยความจำในรูปแบบจุดคงที่ ด้วยรูปแบบนี้สำหรับการแสดงตัวเลข การลงทะเบียนหน่วยความจำที่ประกอบด้วยเซลล์หน่วยความจำแปดเซลล์ (8 บิต) ได้รับการจัดสรรสำหรับการจัดเก็บตัวเลขจำนวนเต็มที่ไม่เป็นลบ แต่ละหลักของเซลล์หน่วยความจำจะตรงกับหลักเดียวกันของตัวเลขเสมอ และเครื่องหมายจุลภาคจะอยู่ทางด้านขวาหลังหลักที่มีนัยสำคัญน้อยที่สุดและอยู่นอกตารางบิต ตัวอย่างเช่น หมายเลข 110011012 จะถูกจัดเก็บไว้ในการลงทะเบียนหน่วยความจำดังนี้:
ตารางที่ 4
ค่าสูงสุดของจำนวนเต็มที่ไม่เป็นลบที่สามารถจัดเก็บไว้ในรีจิสเตอร์ในรูปแบบจุดคงที่สามารถกำหนดได้จากสูตร: 2n – 1 โดยที่ n คือจำนวนหลักของตัวเลข จำนวนสูงสุดจะเท่ากับ 28 - 1 = 25510 = 111111112 และค่าต่ำสุด 010 = 000000002 ดังนั้น ช่วงของการเปลี่ยนแปลงในจำนวนเต็มที่ไม่เป็นลบจะอยู่ระหว่าง 0 ถึง 25510
ไม่เหมือน ระบบทศนิยมในระบบเลขฐานสองเมื่อแสดงเลขฐานสองบนคอมพิวเตอร์ไม่มีสัญลักษณ์แสดงเครื่องหมายของตัวเลข คือ บวก (+) หรือลบ (-) ดังนั้น เพื่อแทนจำนวนเต็มที่มีเครื่องหมายในระบบเลขฐานสองจึงแทนตัวเลขสองตัว มีการใช้รูปแบบ: รูปแบบตัวเลขที่ลงนามและโค้ดรูปแบบส่วนเสริม ในกรณีแรก การลงทะเบียนหน่วยความจำสองตัว (16 บิต) จะถูกจัดสรรเพื่อจัดเก็บจำนวนเต็มที่มีเครื่องหมาย และใช้หลักที่มีนัยสำคัญที่สุด (ซ้ายสุด) เป็นสัญลักษณ์ของตัวเลข: ถ้าตัวเลขเป็นค่าบวก 0 จะถูกเขียนลงในบิตเครื่องหมาย ถ้าตัวเลขเป็นลบ ดังนั้น 1 ตัวอย่างเช่น หมายเลข 53610 = 00000010000110002 จะถูกแสดงในรีจิสเตอร์หน่วยความจำในรูปแบบต่อไปนี้:
ตารางที่ 5
และจำนวนลบ -53610 = 10000010000110002 ในรูปแบบ:
ตารางที่ 6
จำนวนบวกสูงสุดหรือจำนวนลบขั้นต่ำในรูปแบบค่าตัวเลขลงนาม (โดยคำนึงถึงการแสดงหนึ่งหลักต่อเครื่องหมาย) คือ 2n-1 – 1 = 216-1 – 1 = 215 – 1 = 3276710 = 1111111111111112 และช่วงของตัวเลข จะอยู่ที่ - 3276710 ถึง 32767
บ่อยที่สุดเพื่อเป็นตัวแทนจำนวนเต็มที่ลงนามในระบบไบนารี่จะใช้รูปแบบรหัสเสริมของทั้งสองซึ่งช่วยให้คุณสามารถแทนที่การดำเนินการทางคณิตศาสตร์ของการลบในคอมพิวเตอร์ด้วยการดำเนินการเพิ่มเติมซึ่งทำให้โครงสร้างของไมโครโปรเซสเซอร์ง่ายขึ้นอย่างมากและเพิ่มประสิทธิภาพ .
ในการแทนจำนวนเต็มลบในรูปแบบนี้ จะใช้โค้ดส่วนเสริมของเลขสองตัวหนึ่ง ซึ่งเป็นโมดูลัสของส่วนเสริมของจำนวนลบที่เป็นศูนย์ การแปลงจำนวนเต็มลบให้เป็นส่วนเสริมของ 2 ทำได้โดยใช้การดำเนินการต่อไปนี้:
1) เขียนโมดูลของตัวเลขในโค้ดโดยตรงใน n (n = 16) เลขฐานสอง
2) รับรหัสย้อนกลับของตัวเลข (แปลงตัวเลขทั้งหมดของตัวเลขเช่น แทนที่ทั้งหมดด้วยศูนย์และศูนย์ด้วยหลัก)
3) เพิ่มหนึ่งไปยังหลักที่มีนัยสำคัญน้อยที่สุดในโค้ดย้อนกลับผลลัพธ์
ตัวอย่างเช่น สำหรับตัวเลข -53610 ในรูปแบบนี้ โมดูลัสจะเป็น 00000010000110002 รหัสซึ่งกันและกันจะเป็น 1111110111100111 และรหัสเพิ่มเติมจะเป็น 1111110111101000
ต้องจำไว้ว่าส่วนเสริมของจำนวนบวกคือจำนวนนั้นเอง
เพื่อจัดเก็บจำนวนเต็มที่ลงนามนอกเหนือจากการแสดงคอมพิวเตอร์ 16 บิตเมื่อใช้ การลงทะเบียนหน่วยความจำสองรายการ(รูปแบบตัวเลขนี้เรียกอีกอย่างว่ารูปแบบจำนวนเต็มลายเซ็นแบบสั้น) จะใช้รูปแบบจำนวนเต็มลายเซ็นแบบกลางและแบบยาว ในการแสดงตัวเลขในรูปแบบตัวเลขกลาง จะใช้รีจิสเตอร์สี่ตัว (4 x 8 = 32 บิต) และเพื่อแสดงตัวเลขในรูปแบบตัวเลขยาว จะใช้รีจิสเตอร์แปดตัว (8 x 8 = 64 บิต) ช่วงของค่าสำหรับรูปแบบตัวเลขกลางและยาวจะเป็นตามลำดับ: -(231 – 1) ... + 231 – 1 และ -(263-1) ... + 263 – 1
การแสดงตัวเลขในรูปแบบจุดคงที่ด้วยคอมพิวเตอร์มีทั้งข้อดีและข้อเสีย ถึง ประโยชน์รวมถึงความเรียบง่ายของการแทนตัวเลขและอัลกอริธึมสำหรับการดำเนินการทางคณิตศาสตร์ ข้อเสียคือช่วงที่ จำกัด ของการแทนตัวเลขซึ่งอาจไม่เพียงพอสำหรับการแก้ปัญหาหลายอย่างที่มีลักษณะในทางปฏิบัติ (ทางคณิตศาสตร์ เศรษฐกิจ กายภาพ ฯลฯ )
จำนวนจริง (ทศนิยมจำกัดและอนันต์) ได้รับการประมวลผลและจัดเก็บไว้ในคอมพิวเตอร์ในรูปแบบทศนิยม ด้วยรูปแบบการแสดงตัวเลขนี้ ตำแหน่งของจุดทศนิยมในรายการอาจเปลี่ยนแปลงได้ จำนวนจริง K ใดๆ ในรูปแบบจุดลอยตัวสามารถแสดงได้ดังนี้:
โดยที่ A คือแมนทิสซาของตัวเลข h – ฐานของระบบตัวเลข p – ลำดับหมายเลข
นิพจน์ (2.7) สำหรับระบบเลขฐานสิบจะอยู่ในรูปแบบ:
สำหรับไบนารี -
สำหรับฐานแปด -
สำหรับเลขฐานสิบหก -
การแสดงตัวเลขรูปแบบนี้เรียกอีกอย่างว่า ปกติ - เมื่อมีการเปลี่ยนแปลงลำดับ ลูกน้ำในตัวเลขจะเลื่อน นั่นคือดูเหมือนว่าจะลอยไปทางซ้ายหรือทางขวา ดังนั้นจึงเรียกว่าการแสดงตัวเลขในรูปแบบปกติ แบบฟอร์มจุดลอยตัว- ตัวอย่างเช่น เลขฐานสิบ 15.5 ในรูปแบบจุดลอยตัวสามารถแสดงเป็น: 0.155 102; 1.55 101; 15.5 100; 155.0 10-1; 1550.0 10-2 เป็นต้น รูปแบบทศนิยมทศนิยม 15.5 นี้ไม่ได้ใช้ในการเขียน โปรแกรมคอมพิวเตอร์และป้อนลงในคอมพิวเตอร์ (อุปกรณ์อินพุตของคอมพิวเตอร์รับรู้เฉพาะการบันทึกข้อมูลเชิงเส้นเท่านั้น) จากนี้ นิพจน์ (2.7) สำหรับแสดงเลขทศนิยมและป้อนลงในคอมพิวเตอร์จะถูกแปลงเป็นรูปแบบ
โดยที่ P คือลำดับของตัวเลข
นั่นคือแทนที่จะเป็นฐานของระบบตัวเลข 10 พวกเขาเขียนตัวอักษร E แทนลูกน้ำจุดและไม่ใส่เครื่องหมายคูณ ดังนั้น ตัวเลข 15.5 ในรูปแบบจุดลอยตัวและเชิงเส้น (การแสดงด้วยคอมพิวเตอร์) จะถูกเขียนเป็น: 0.155E2; 1.55E1; 15.5E0; 155.0E-1; 1550.0E-2 ฯลฯ
ไม่ว่าระบบตัวเลขจะเป็นเช่นไร ตัวเลขใดๆ ในรูปแบบจุดลอยตัวสามารถแสดงด้วยจำนวนอนันต์ได้ การบันทึกรูปแบบนี้เรียกว่า ไม่เป็นมาตรฐาน - สำหรับการแสดงจำนวนจุดลอยตัวที่ชัดเจน จะใช้รูปแบบการเขียนตัวเลขที่เป็นมาตรฐาน ซึ่งแมนทิสซาของตัวเลขจะต้องตรงตามเงื่อนไข
ที่ไหน |ก| - ค่าสัมบูรณ์ของแมนทิสซาของตัวเลข
เงื่อนไข (2.9) หมายความว่า แมนทิสซาต้องเป็นเศษส่วนแท้และมีเลขหลักที่ไม่ใช่ศูนย์หลังจุดทศนิยม หรืออีกนัยหนึ่ง ถ้าแมนทิสซาไม่มีศูนย์หลังจุดทศนิยม ตัวเลขนั้นจะถูกเรียกว่าทำให้เป็นมาตรฐาน . ดังนั้น ตัวเลข 15.5 ในรูปแบบที่ทำให้เป็นมาตรฐาน (แมนทิสซาที่ทำให้เป็นมาตรฐาน) ในรูปแบบจุดลอยตัวจะมีลักษณะดังนี้: 0.155 102 กล่าวคือ แมนทิสซาที่ทำให้เป็นมาตรฐานจะเป็น A = 0.155 และลำดับ P = 2 หรือในคอมพิวเตอร์แทนจำนวน 0.155E2
หมายเลขทศนิยมมีรูปแบบคงที่และใช้หน่วยความจำคอมพิวเตอร์สี่ (32 บิต) หรือแปดไบต์ (64 บิต) หากตัวเลขกินพื้นที่ 32 บิตในหน่วยความจำของคอมพิวเตอร์ แสดงว่าเป็นตัวเลขที่มีความแม่นยำปกติ หากเป็น 64 บิต จะเป็นตัวเลขที่มีความแม่นยำสองเท่า เมื่อเขียนตัวเลขทศนิยม บิตจะถูกจัดสรรเพื่อเก็บเครื่องหมายของแมนทิสซา เครื่องหมายของเลขชี้กำลัง แมนทิสซา และเลขชี้กำลัง จำนวนหลักที่จัดสรรให้กับลำดับของตัวเลขจะกำหนดช่วงของการแปรผันของตัวเลข และจำนวนหลักที่จัดสรรเพื่อจัดเก็บแมนทิสซาจะกำหนดความแม่นยำของตัวเลขที่ระบุ
เมื่อดำเนินการทางคณิตศาสตร์ (การบวกและการลบ) กับตัวเลขที่แสดงในรูปแบบทศนิยม จะใช้ขั้นตอน (อัลกอริทึม) ต่อไปนี้:
1) ลำดับของตัวเลขที่ดำเนินการทางคณิตศาสตร์ถูกจัดตำแหน่ง (ลำดับของจำนวนที่น้อยกว่าในค่าสัมบูรณ์จะเพิ่มขึ้นเป็นลำดับของจำนวนที่มากขึ้นในค่าสัมบูรณ์, แมนทิสซาลดลงตามจำนวนครั้งเท่ากัน)
2) การดำเนินการทางคณิตศาสตร์จะดำเนินการกับแมนทิสซาของตัวเลข
3) ผลลัพธ์ที่ได้จะถูกทำให้เป็นมาตรฐาน
ส่วนการปฏิบัติ
| การวางแผนบทเรียนสำหรับปีการศึกษา (FSES) | § 1.2 แทนตัวเลขในคอมพิวเตอร์
บทที่ 6 - 7
§ 1.2 แทนตัวเลขในคอมพิวเตอร์
คำสำคัญ:
ปลดประจำการ
การแสดงจำนวนเต็มที่ไม่ได้ลงนาม
การแทนจำนวนเต็มลงนาม
การแทนจำนวนจริง
1.2.1. การแทนค่าจำนวนเต็ม
RAM ของคอมพิวเตอร์ประกอบด้วยเซลล์ต่างๆ ซึ่งแต่ละเซลล์เป็นตัวแทน ระบบทางกายภาพประกอบด้วยองค์ประกอบที่เป็นเนื้อเดียวกันจำนวนหนึ่ง องค์ประกอบเหล่านี้มีสถานะเสถียรสองสถานะ โดยสถานะหนึ่งสอดคล้องกับศูนย์ และอีกสถานะหนึ่งสอดคล้องกับสถานะหนึ่ง แต่ละองค์ประกอบดังกล่าวใช้เพื่อจัดเก็บหนึ่งในบิต - หลักของเลขฐานสอง นั่นคือสาเหตุที่แต่ละองค์ประกอบของเซลล์เรียกว่าบิตหรือตัวเลข (รูปที่ 1.2)
ข้าว. 1.2. เซลล์หน่วยความจำ
สำหรับการแทนจำนวนเต็มด้วยคอมพิวเตอร์ จะใช้วิธีการที่แตกต่างกันหลายวิธี ซึ่งแตกต่างกันในเรื่องจำนวนหลัก (โดยปกติแล้วจำนวนเต็มจะถูกจัดสรรเป็น 8, 16, 32 หรือ 64 หลัก) และการมีอยู่หรือไม่มีหลักเครื่องหมาย การแทนค่าที่ไม่ได้ลงนามสามารถใช้ได้กับจำนวนเต็มที่ไม่เป็นลบเท่านั้น และจำนวนลบสามารถแสดงในรูปแบบที่ลงนามเท่านั้น
การแสดงที่ไม่ได้ลงนามใช้สำหรับวัตถุ เช่น ที่อยู่ของเซลล์ ตัวนับต่างๆ (เช่น จำนวนอักขระในข้อความ) รวมถึงตัวเลขที่ระบุวันที่และเวลา ขนาด ภาพกราฟิกเป็นพิกเซล ฯลฯ
ค่าสูงสุดของจำนวนเต็มที่ไม่เป็นลบจะเกิดขึ้นได้เมื่อบิตทั้งหมดของเซลล์มีจำนวนหนึ่ง สำหรับการแสดง n บิตจะเท่ากับ 2 n -1 จำนวนขั้นต่ำสอดคล้องกับศูนย์ n ตัวที่เก็บไว้ในหน่วยความจำ n บิตและเท่ากับศูนย์
ต่อไปนี้เป็นค่าสูงสุดสำหรับจำนวนเต็ม n บิตที่ไม่ได้ลงนาม:
หากต้องการรับการแสดงจำนวนเต็มที่ไม่ได้ลงนามโดยคอมพิวเตอร์ ก็เพียงพอแล้วที่จะแปลงตัวเลขเป็นระบบเลขฐานสองและปัดผลลัพธ์ผลลัพธ์ทางด้านซ้ายด้วยเลขศูนย์เป็นความจุหลักมาตรฐาน
ตัวอย่างที่ 1- ตัวเลข 53 10 = 110101 2 ในการแสดงแปดหลักมีรูปแบบ:
หมายเลข 53 เดียวกันในสิบหกหลักจะถูกเขียนดังนี้:
เมื่อแสดงด้วยเครื่องหมาย ตัวเลขที่มีนัยสำคัญที่สุด (ซ้าย) จะถูกกำหนดให้กับเครื่องหมายของตัวเลข ส่วนตัวเลขที่เหลือจะถูกกำหนดให้กับตัวเลขนั้นเอง หากตัวเลขเป็นบวก 0 จะถูกวางไว้ในบิตเครื่องหมาย หากตัวเลขเป็นลบ - 1 การแทนตัวเลขนี้เรียกว่าโค้ดโดยตรง
ในคอมพิวเตอร์ ไดเร็กโค้ดถูกใช้เพื่อจัดเก็บตัวเลขบวกในอุปกรณ์จัดเก็บข้อมูลเพื่อดำเนินการกับตัวเลขบวก
เว็บไซต์ของศูนย์ข้อมูลและทรัพยากรการศึกษาของรัฐบาลกลาง (http://fcior.edu.ru/) มีโมดูลข้อมูล "หมายเลขและรหัสคอมพิวเตอร์" ด้วยแหล่งข้อมูลนี้ คุณสามารถรับข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อที่คุณกำลังศึกษาได้
ในการดำเนินการกับจำนวนลบ จะใช้โค้ดเพิ่มเติมเพื่อแทนที่การดำเนินการลบด้วยการบวก คุณสามารถค้นหาอัลกอริทึมสำหรับการสร้างรหัสเพิ่มเติมโดยใช้โมดูลข้อมูล "รหัสเพิ่มเติม" ที่อยู่บนเว็บไซต์ของศูนย์ข้อมูลและทรัพยากรการศึกษาของรัฐบาลกลาง (http://fcior.edu.ru/)
1.2.2. การแสดงจำนวนจริง
จำนวนจริง A ใดๆ สามารถเขียนได้ในรูปแบบเลขชี้กำลัง:
ที่ไหน:
ม. - แมนทิสซาของตัวเลข;
p - ลำดับหมายเลข
ตัวอย่างเช่นหมายเลข 472 LLC LLC สามารถแสดงได้ดังนี้: 4.72 10 8, 47.2 10 7, 472.0 10 6 เป็นต้น
คุณอาจเคยเจอรูปแบบการเขียนเลขชี้กำลังเมื่อทำการคำนวณโดยใช้เครื่องคิดเลข เมื่อคุณได้รับคำตอบในรูปแบบต่อไปนี้: 4.72E+8
ที่นี่เครื่องหมาย "E" หมายถึงฐานของระบบเลขฐานสิบและอ่านว่า "คูณด้วยสิบยกกำลัง"
จากตัวอย่างข้างต้น คุณจะเห็นว่าตำแหน่งของจุดทศนิยมในตัวเลขสามารถเปลี่ยนแปลงได้
เพื่อความสอดคล้องกัน แมนทิสซามักจะเขียนเป็นเศษส่วนแท้โดยมีเลขหลักที่ไม่ใช่ศูนย์อยู่หลังจุดทศนิยม ในกรณีนี้ หมายเลข 472 LLC LLC จะแสดงเป็น 0.472 10 9
จำนวนจริงสามารถครอบครอง 32 หรือ 64 บิตในหน่วยความจำคอมพิวเตอร์ ในกรณีนี้ บิตจะถูกจัดสรรเพื่อจัดเก็บเครื่องหมายแมนทิสซา เครื่องหมายคำสั่ง ลำดับ และมานทิสซา
ตัวอย่าง:
ช่วงของการแทนจำนวนจริงถูกกำหนดโดยจำนวนบิตที่จัดสรรเพื่อจัดเก็บลำดับของตัวเลข และความแม่นยำถูกกำหนดโดยจำนวนบิตที่จัดสรรเพื่อจัดเก็บแมนทิสซา
ค่าสูงสุดของลำดับตัวเลขสำหรับตัวอย่างด้านบนคือ 1111111 2 = 127 10 ดังนั้นค่าสูงสุดของตัวเลขคือ:
0,11111111111111111111111 10 1111111
ลองคิดเอาเองว่าค่าทศนิยมที่เทียบเท่ากับค่านี้คืออะไร
การแสดงจำนวนจริงที่หลากหลายเป็นสิ่งสำคัญสำหรับการแก้ปัญหาทางวิทยาศาสตร์และวิศวกรรมศาสตร์ ในเวลาเดียวกัน ควรเข้าใจว่าอัลกอริธึมสำหรับการประมวลผลตัวเลขดังกล่าวนั้นต้องใช้แรงงานมากกว่าเมื่อเปรียบเทียบกับอัลกอริธึมสำหรับการประมวลผลจำนวนเต็ม
สิ่งที่สำคัญที่สุด
ในการแสดงจำนวนเต็มบนคอมพิวเตอร์ จะมีการใช้วิธีการที่แตกต่างกันหลายวิธี ซึ่งแตกต่างกันในจำนวนหลัก (8, 16, 32 หรือ 64) และการมีอยู่หรือไม่มีหลักเครื่องหมาย
หากต้องการแสดงจำนวนเต็มที่ไม่ได้ลงนาม ควรแปลงเป็นระบบเลขฐานสองและผลลัพธ์ที่ได้ควรเติมไว้ทางด้านซ้ายโดยมีเลขศูนย์เป็นความจุมาตรฐาน
เมื่อแสดงด้วยเครื่องหมาย หลักที่สำคัญที่สุดจะถูกกำหนดให้กับเครื่องหมายของตัวเลข ส่วนตัวเลขที่เหลือจะถูกกำหนดให้กับตัวเลขนั้นเอง หากตัวเลขเป็นบวก ค่า 0 จะถูกวางไว้ในบิตเครื่องหมาย หากตัวเลขเป็นค่าลบ ดังนั้น 1 ตัวเลขบวกจะถูกจัดเก็บไว้ในคอมพิวเตอร์ในรูปแบบไดเร็กต์โค้ด ตัวเลขลบจะอยู่ในโค้ดเสริม
เมื่อจัดเก็บจำนวนจริงในคอมพิวเตอร์ บิตจะถูกจัดสรรเพื่อจัดเก็บเครื่องหมายลำดับของตัวเลข ลำดับของตัวเอง เครื่องหมายของแมนทิสซาและแมนทิสซา ในกรณีนี้ จำนวนใดๆ จะถูกเขียนดังนี้:
ที่ไหน:
ม. - แมนทิสซาของตัวเลข;
q - ฐานของระบบตัวเลข
p - ลำดับหมายเลข
คำถามและงาน
1. อ่านสื่อการนำเสนอสำหรับย่อหน้าที่มีอยู่ในภาคผนวกอิเล็กทรอนิกส์ของตำราเรียน ใช้เอกสารเหล่านี้ในการเตรียมคำตอบสำหรับคำถามและทำงานที่ได้รับมอบหมายให้เสร็จสิ้น
2. จำนวนเต็มบวกและลบแสดงอยู่ในหน่วยความจำคอมพิวเตอร์อย่างไร
3. จำนวนเต็มใดๆ ถือได้ว่าเป็นจำนวนจริง แต่มีเศษส่วนเป็นศูนย์ พิสูจน์ความเป็นไปได้ของการมีวิธีพิเศษในการแทนจำนวนเต็มด้วยคอมพิวเตอร์
4. แสดงหมายเลข 63 10 ในรูปแบบ 8 บิตที่ไม่ได้ลงนาม
5. ค้นหาค่าทศนิยมของตัวเลขโดยใช้โค้ดโดยตรงซึ่งเขียนในรูปแบบ 8 บิตแบบลงนาม:
ก) 01001100;
ข) 00010101
6. ตัวเลขใด 443 8, 101010 2, 256 10 ที่สามารถจัดเก็บในรูปแบบ 8 บิตได้?
7. เขียนตัวเลขต่อไปนี้ในรูปแบบธรรมชาติ:
ก) 0.3800456 10 2;
ข) 0.245 10 -3;
ค) 1.256900E+5;
ง) 9.569120E-3
8. เขียนหมายเลข 2010.0102 10 เป็นห้า ในรูปแบบต่างๆในรูปแบบเลขชี้กำลัง
9. เขียนตัวเลขต่อไปนี้ในรูปแบบเอ็กซ์โปเนนเชียลด้วยแมนทิสซาที่ทำให้เป็นมาตรฐาน - เศษส่วนแท้ที่มีหลักที่ไม่ใช่ศูนย์หลังจุดทศนิยม:
ก) 217.934 10;
ข) 75321 10;
ค) 0.00101 10.
10. วาดแผนภาพเชื่อมโยงแนวคิดพื้นฐานที่กล่าวถึงในย่อหน้านี้