เครื่องหมายธงถูกใช้โดยหมวดหมู่ที่ลงนามแล้วเพื่อแสดงถึงจำนวนเต็มลบ หมวดหมู่ข้อมูลที่ไม่ได้ลงนามจะไม่ใช้เครื่องหมายดังกล่าว เนื่องจากสามารถรวมได้เฉพาะค่าศูนย์และค่าบวกอื่นๆ ทั้งหมด ความแตกต่าง 'ลงนาม' และ 'ไม่ได้ลงนาม' เป็นสิ่งสำคัญสำหรับแอปพลิเคชันคอมพิวเตอร์ในการทำงานอย่างถูกต้อง
ลงชื่อ vs ไม่ได้ลงนาม
ความแตกต่างระหว่างหมวดหมู่ข้อมูลที่ลงนามและไม่ได้ลงนามคือในขณะที่เซ็นชื่อนั้นมีทั้งจำนวนเต็มบวกและจำนวนเต็มลบ ที่ไม่ได้ลงนามจะรวมเฉพาะจำนวนเต็มบวกเท่านั้น
ในการเขียนโปรแกรมคอมพิวเตอร์ หมวดหมู่ 'ลงชื่อ' และ 'ไม่ได้ลงนาม' เหล่านี้หมายถึงตัวแปรที่สามารถประกอบด้วยจำนวนเต็มบางประเภทได้ ในบริบทของการเข้ารหัส หมวดหมู่เดิมสามารถเก็บจำนวนเต็มทั้งสองประเภทได้ ในขณะที่ประเภทหลังสามารถรวมเฉพาะหมายเลขศูนย์และรายการจำนวนเต็มบวกทั้งหมดเท่านั้น
ตารางเปรียบเทียบระหว่างลงนามและไม่ได้ลงนาม
พารามิเตอร์ของการเปรียบเทียบ | ลงชื่อ | ไม่ได้ลงนาม |
รวมค่า | หมวดหมู่ข้อมูลที่ลงนามมีทั้งจำนวนเต็มบวกและจำนวนเต็มลบ | หมวดหมู่ข้อมูลที่ไม่ได้ลงนามจะรวมเฉพาะศูนย์และจำนวนเต็มบวกอื่นๆ ไม่สามารถรวมจำนวนเต็มลบได้ |
ขนาด | จำนวนเต็มที่ลงนามจะมีขนาดที่เล็กกว่าจำนวนเต็มที่ไม่ได้ลงนามซึ่งอยู่ในช่วงเดียวกัน | จำนวนเต็มที่ไม่ได้ลงนามจะมีขนาดมากกว่าจำนวนเต็มที่ลงนามในช่วงเดียวกัน |
ป้ายธง | ชนิดข้อมูลที่ลงนามจะใช้เครื่องหมายธงก่อนตัวเลขติดลบที่แสดง | ชนิดข้อมูลที่ไม่ได้ลงนามจะไม่ใช้เครื่องหมายธงก่อนตัวเลข เนื่องจากแสดงเฉพาะจำนวนเต็มบวกเท่านั้น |
ขั้นตอนการระบุตัวตน | บิตที่เหลือถูกใช้โดยคอนเทนเนอร์ข้อมูลที่ลงนาม | บิตนำหน้าของค่าถูกใช้โดยคอนเทนเนอร์ข้อมูลที่ไม่ได้ลงนาม |
ช่วงใน Char | จำนวนเต็มที่ลงนามมีตั้งแต่ -128 ถึง 127 อักขระ | จำนวนเต็มที่ไม่ได้ลงนามมีตั้งแต่ 0 ถึง 255 ในตัวอักษร |
วิธีการเป็นตัวแทน | รูปแบบเสริมของ 1, รูปแบบเสริมของ 2 และวิธีการรูปแบบขนาดเครื่องหมายสามารถใช้เพื่อแสดงตัวแปรไบนารีที่มีลายเซ็น | ตัวแปรไบนารีที่ไม่ได้ลงนามไม่มีเครื่องหมายหรือสัญลักษณ์นำหน้า ดังนั้นจึงมีวิธีการแสดงเพียงวิธีเดียวสำหรับตัวแปรไบนารีดังกล่าว |
วิธีการเป็นตัวแทนที่ชัดเจน | วิธีการแทนค่าที่เป็นไปได้ 1 ใน 3 วิธีนั้นชัดเจน | วิธีการเดียวที่ใช้ได้คือวิธีที่ชัดเจน |
ลงนามคืออะไร?
การแสดงตัวเลขที่มีลายเซ็นคือการจัดหมวดหมู่ของจำนวนเต็มบวกและจำนวนเต็มลบ การจัดกลุ่มข้อมูลที่ลงนามประกอบด้วยตัวเลขทั้งสองด้านของเส้นจำนวน ตัวเลขติดลบแตกต่างจากตัวเลขบวกด้วยเครื่องหมายธง
การจัดกลุ่มหมายเลขที่ลงนามจะใช้ในการเขียนโปรแกรมคอมพิวเตอร์ มีสามวิธีในการแสดงชุดข้อมูลที่ลงนาม ภายใต้วิธีขนาดเครื่องหมาย บิตหนึ่งถูกสงวนไว้สำหรับสัญลักษณ์เครื่องหมาย ทำให้เป็นวิธีที่คลุมเครือ
ในทำนองเดียวกัน วิธีเสริมของ 1 ก็เป็นวิธีที่คลุมเครือในการแทนจำนวนเต็มที่มีเครื่องหมาย วิธีการเสริมของ 2 เป็นวิธีการเดียวที่ชัดเจนที่สามารถใช้แทนจำนวนเต็มเหล่านี้ได้ ชนิดข้อมูลดังกล่าวถูกใช้อย่างกว้างขวางในการพัฒนาภาษาโปรแกรมเช่น C และ C+
Unsigned คืออะไร?
การจัดประเภทข้อมูลที่ไม่ได้ลงนามเป็นการจำแนกประเภทของจำนวนเต็มบวก มีค่าบวกเท่านั้น ศูนย์ยังเป็นส่วนหนึ่งของการจัดหมวดหมู่ที่ไม่ได้ลงนาม ชุดข้อมูลที่ไม่ได้ลงนามไม่มีเครื่องหมายธงนำหน้าจำนวนเต็มที่รวมไว้ เนื่องจากค่าทั้งหมดเป็นค่าบวก
เช่นเดียวกับจำนวนเต็มไบนารีแบบมีเครื่องหมาย ตัวเลขที่ไม่ได้ลงนามก็ถูกใช้ในโดเมนของการเขียนโปรแกรมเช่นกัน C++, C# และภาษาการเขียนโปรแกรมอื่นๆ ใช้ชุดข้อมูลเหล่านี้ ในอักขระแบบถ่าน จำนวนเต็มไบนารีที่ไม่ได้ลงชื่อมีช่วงตั้งแต่ 0 ถึง 255
ชนิดข้อมูลที่ไม่ได้ลงนามสามารถแสดงเฉพาะขนาดของเลขฐานสองที่แสดงเท่านั้น นี้หมายความว่าแต่ละตัวเลขมีเพียงหนึ่งรูปแบบที่เทียบเท่าไบนารี ดังนั้นรูปแบบการแสดงนี้จึงเรียกว่าวิธีการเป็นตัวแทนที่ชัดเจน นอกจากนี้ ตัวแปรที่ไม่ได้ลงนามจะมีขนาดเป็นสองเท่าของตัวแปรที่ลงนามในช่วงเดียวกัน
ความแตกต่างหลักระหว่างการลงนามและไม่ได้ลงนาม
- ความแตกต่างหลัก ระหว่างชนิดข้อมูลที่ลงนามและไม่ได้ลงนามคือ แบบเดิมอนุญาตให้ผู้ใช้แสดงตัวเลขทั้งบวกและลบ ในขณะที่ชนิดหลังใช้เพื่อแทนศูนย์และจำนวนบวกอื่นๆ ตัวเลขติดลบไม่สามารถแสดงด้วยประเภทข้อมูลที่ไม่ได้ลงนาม สามารถใช้เฉพาะสำหรับจำนวนเต็มบวกเท่านั้น
- แม้ว่าประเภทที่คล้ายคลึงกันของตัวแปรที่มีลายเซ็นและไม่ได้ลงนามจะมีช่วงเดียวกัน แต่ตัวแปรหลังแสดงถึงขนาดของตัวเลขที่มากกว่าตัวแปรที่ลงนามที่สอดคล้องกัน
- การจัดประเภทข้อมูลที่ลงนามแล้วจะใช้เครื่องหมายธงก่อนตัวเลขติดลบที่แสดง หมวดหมู่ข้อมูลที่ไม่ได้ลงนามจะไม่ใช้เครื่องหมายธงดังกล่าว เนื่องจากแสดงเฉพาะตัวเลขบวกเท่านั้น
- ทั้งสองหมวดหมู่ยังแตกต่างกันในแง่ของแต่ละช่วงในบริบทของถ่าน จำนวนเต็มที่ลงนามมีตั้งแต่ -128 ถึง 127 ในตัวอักษร ในขณะที่จำนวนเต็มที่ไม่ได้ลงนามมีตั้งแต่ 0 ถึง 255 ในตัวอักษร
- ความแตกต่างอีกประการระหว่างทั้งสองคือวิธีการระบุการใช้งานแต่ละครั้ง บิตนำหน้าของค่าที่กำหนดจะใช้เป็นส่วนหนึ่งของค่าโดยหมวดหมู่ข้อมูลที่ไม่ได้ลงนามเพื่อระบุว่าตัวเลขนั้นเป็นค่าบวกหรือค่าลบ อีกทางหนึ่ง ประเภทข้อมูลที่เซ็นชื่อใช้บิตที่เหลือเพื่อระบุตัวตนเดียวกัน
- วิธีเสริมของ 1 วิธีเสริมของ 2 และวิธีการรูปแบบขนาดเครื่องหมายสามารถใช้เพื่อแสดงตัวแปรที่มีลายเซ็น เนื่องจากตัวแปรไบนารีบางตัวมีเครื่องหมายลบ ในขณะที่ตัวแปรเลขฐานสองของหมวดหมู่ที่ไม่ได้ลงนามจะแสดงเฉพาะขนาดของมันเท่านั้น เนื่องจากพวกมันเป็นจำนวนเต็มบวกทั้งหมด
- จำนวนเต็มไบนารีที่ลงนามแล้วมีเทคนิคการแทนค่าที่เป็นไปได้สามวิธี แต่มีวิธีการแทนค่าที่ไม่คลุมเครือเพียงวิธีเดียวเท่านั้น ในขณะที่ไบนารีที่ไม่ได้ลงนามจะมีวิธีการแสดงหนึ่งวิธีที่ไม่คลุมเครือ
บทสรุป
รหัสไบนารีใช้สำหรับการเขียนโปรแกรม คอมพิวเตอร์ยังใช้ในการจัดเก็บและเข้าถึงข้อมูล ข้อมูลสองประเภทใช้เพื่อจุดประสงค์นี้ - ลงนามและไม่ได้ลงนาม หมวดหมู่ข้อมูลที่เซ็นชื่อสามารถรวมค่าที่เป็นค่าบวกและค่าลบ
ในทางตรงข้าม หมวดหมู่ข้อมูลที่ไม่ได้ลงนามประกอบด้วยจำนวนเต็มบวกเท่านั้น ความพิเศษเฉพาะตัวของหมวดหมู่ข้อมูลที่ไม่ได้ลงนามนี้แสดงถึงความหลากหลายที่แตกต่างจากหมวดหมู่ที่ลงนามแล้ว
จำนวนเต็มที่ลงนามใช้สัญลักษณ์ธงเพื่อแสดงถึงจำนวนเต็มลบ ชนิดข้อมูลที่ไม่ได้ลงนามจะไม่ใช้สัญลักษณ์ธงดังกล่าว เนื่องจากจำนวนเต็มทั้งหมดที่รวมอยู่ในหมวดหมู่นี้เป็นค่าบวกอย่างสม่ำเสมอ
ความแตกต่างที่สำคัญระหว่างคนทั้งสองนี้จะต้องรับรู้เพื่อละเว้นจากการใช้ทั้งสองอย่างไม่ถูกต้อง หากมีการใช้ข้อมูลสองประเภทอย่างไม่ถูกต้อง หรือมีการผสมผสานการใช้งานในลักษณะที่ส่งผลต่อการเขียนโปรแกรมของอุปกรณ์ คอมพิวเตอร์มักจะออกคำเตือนเพื่อแจ้งให้ผู้ใช้แก้ไขข้อผิดพลาด
อ้างอิง
- https://ieeexplore.ieee.org/abstract/document/6606625/
- https://link.springer.com/chapter/10.1007/978-3-540-28628-8_8
- https://www.cs.umn.edu/sites/cs.umn.edu/files/tech_reports/14-006.pdf