แทนตัวเลขบนคอมพิวเตอร์ การแสดงตัวเลขในคอมพิวเตอร์ วิธีการแสดงตัวเลขในรูปแบบไบนารี่

ค่าสูงสุดของจำนวนเต็มที่ไม่เป็นลบจะเกิดขึ้นได้เมื่อเซลล์ทั้งหมดมีจำนวนเต็ม สำหรับการแสดง 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. วาดแผนภาพเชื่อมโยงแนวคิดพื้นฐานที่กล่าวถึงในย่อหน้านี้