การเข้ารหัสคำในรหัสไบนารี่ การเข้ารหัสข้อมูลข้อความ การแปลงเลขฐานสองให้เป็นทศนิยม


อารยภาต
ซีริลลิก
กรีก จอร์เจีย
เอธิโอเปีย
ชาวยิว
อักษราสังขยา อื่น ชาวบาบิลอน
ชาวอียิปต์
อิทรุสกัน
โรมัน
แม่น้ำดานูบ ห้องใต้หลังคา
คิปู
มายัน
ทะเลอีเจียน
สัญลักษณ์เคพีพียู ตำแหน่ง , , , , , , , , , , ตำแหน่งเนกา สมมาตร ระบบผสม ฟีโบนัชชี ไม่ใช่ตำแหน่ง หน่วย (เอกนารี)

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

สัญกรณ์ไบนารีของตัวเลข

ในระบบเลขฐานสอง ตัวเลขจะถูกเขียนโดยใช้สัญลักษณ์สองตัว ( 0 และ 1 ). เพื่อหลีกเลี่ยงความสับสนว่าตัวเลขนั้นเขียนอยู่ในระบบตัวเลขใด จึงมีสัญลักษณ์แสดงไว้ที่มุมขวาล่าง เช่น ตัวเลขในระบบทศนิยม 5 10 ในรูปแบบไบนารี 101 2 . บางครั้งเลขฐานสองจะแสดงด้วยคำนำหน้า 0ขหรือสัญลักษณ์ & (เครื่องหมายแอมเพอร์แซนด์), ตัวอย่างเช่น 0b101หรือตามลำดับ &101 .

ในระบบเลขฐานสอง (เช่นเดียวกับในระบบตัวเลขอื่นๆ ยกเว้นทศนิยม) ตัวเลขจะถูกอ่านทีละหลัก เช่น เลข 101 2 อ่านว่า "หนึ่งศูนย์หนึ่ง"

จำนวนเต็ม

จำนวนธรรมชาติที่เขียนในระบบเลขฐานสองเป็น (a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)), มีความหมายว่า:

(a n − 1 a n − 2 … a 1 a 0) 2 = ∑ k = 0 n − 1 a k 2 k , (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_( 0))_(2)=\ผลรวม _(k=0)^(n-1)a_(k)2^(k),)

ตัวเลขติดลบ

เลขฐานสองติดลบจะแสดงในลักษณะเดียวกับเลขทศนิยม: ด้วยเครื่องหมาย “-” หน้าตัวเลข กล่าวคือจำนวนเต็มลบที่เขียนในระบบเลขฐานสอง (− a n − 1 a n − 2 … a 1 a 0) 2 (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2))มีค่า:

(− a n − 1 a n − 2 … a 1 a 0) 2 = − ∑ k = 0 n − 1 a k 2 k (\displaystyle (-a_(n-1)a_(n-2)\dots a_(1)a_(0))_(2)=-\sum _(k=0)^(n-1)a_( ฎ)2^(ฎ)

รหัสเพิ่มเติม

ตัวเลขเศษส่วน

จำนวนเศษส่วนที่เขียนในระบบเลขฐานสองเป็น (a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 (\displaystyle (a_(n-1)a_(n-2)\dots a_(1)a_(0),a_(-1)a_(-2)\จุด a_(-(m-1))a_(-m))_(2))มีค่า:

(a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 = ∑ k = − m n − 1 a k 2 k , (\displaystyle (a_( n-1)a_(n-2)\จุด a_(1)a_(0),a_(-1)a_(-2)\จุด a_(-(m-1))a_(-m))_( 2)=\sum _(k=-m)^(n-1)a_(k)2^(k),)

การบวก ลบ และคูณเลขฐานสอง

ตารางบวก

ตัวอย่างการเพิ่มคอลัมน์ (นิพจน์ทศนิยม 14 10 + 5 10 = 19 10 ในไบนารี่มีลักษณะดังนี้ 1110 2 + 101 2 = 10011 2):

ตัวอย่างการคูณคอลัมน์ (นิพจน์ทศนิยม 14 10 * 5 10 = 70 10 ในไบนารี่มีลักษณะดังนี้ 1110 2 * 101 2 = 1000110 2):

เริ่มต้นด้วยหมายเลข 1 ตัวเลขทั้งหมดจะคูณด้วยสอง จุดที่มาหลัง 1 เรียกว่าจุดไบนารี่

การแปลงเลขฐานสองให้เป็นทศนิยม

สมมติว่าเราได้รับเลขฐานสอง 110001 2 . หากต้องการแปลงเป็นทศนิยม ให้เขียนเป็นผลรวมเป็นตัวเลขดังนี้

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

สิ่งเดียวกันแตกต่างกันเล็กน้อย:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

คุณสามารถเขียนสิ่งนี้ในรูปแบบตารางได้ดังนี้:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

ย้ายจากขวาไปซ้าย ใต้แต่ละหน่วยไบนารี ให้เขียนค่าที่เทียบเท่ากันในบรรทัดด้านล่าง เพิ่มตัวเลขทศนิยมผลลัพธ์ ดังนั้นเลขฐานสอง 110001 2 จึงเท่ากับเลขฐานสิบ 49 10

การแปลงเลขฐานสองที่เป็นเศษส่วนให้เป็นทศนิยม

จำเป็นต้องแปลงตัวเลข 1011010,101 2 สู่ระบบทศนิยม ลองเขียนตัวเลขนี้ดังนี้:

1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 −1 + 0 * 2 −2 + 1 * 2 −3 = 90,625

สิ่งเดียวกันแตกต่างกันเล็กน้อย:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

หรือตามตาราง:

64 32 16 8 4 2 1 0.5 0.25 0.125
1 0 1 1 0 1 0 , 1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

การแปลงร่างโดยวิธีของฮอร์เนอร์

ในการแปลงตัวเลขจากไบนารีเป็นทศนิยมโดยใช้วิธีนี้ คุณต้องรวมตัวเลขจากซ้ายไปขวา โดยคูณผลลัพธ์ที่ได้ก่อนหน้านี้ด้วยฐานของระบบ (ในกรณีนี้คือ 2) โดยทั่วไปวิธีการของฮอร์เนอร์จะใช้ในการแปลงจากระบบไบนารี่เป็นระบบทศนิยม การดำเนินการย้อนกลับเป็นเรื่องยาก เนื่องจากต้องใช้ทักษะเพิ่มเติมและการคูณในระบบเลขฐานสอง

เช่น เลขฐานสอง 1011011 2 แปลงเป็นระบบทศนิยมได้ดังนี้

0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91

นั่นคือในระบบทศนิยมตัวเลขนี้จะเขียนเป็น 91

การแปลงเศษส่วนของตัวเลขโดยใช้วิธีของฮอร์เนอร์

ตัวเลขจะถูกนำมาจากตัวเลขจากขวาไปซ้ายและหารด้วยฐานระบบตัวเลข (2)

ตัวอย่างเช่น 0,1101 2

(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125

คำตอบ: 0.1101 2 = 0.8125 10

การแปลงเลขทศนิยมให้เป็นเลขฐานสอง

สมมติว่าเราต้องแปลงเลข 19 เป็นเลขฐานสอง คุณสามารถใช้ขั้นตอนต่อไปนี้:

19/2 = 9 พร้อมเศษ 1
9/2 = 4 พร้อมเศษ 1
4/2 = 2 โดยไม่มีเศษ 0
2/2 = 1 โดยไม่มีเศษ 0
1/2 = 0 พร้อมเศษ 1

ดังนั้นเราจึงหารแต่ละผลหารด้วย 2 และเขียนเศษที่เหลือที่ส่วนท้ายของสัญกรณ์ไบนารี่ เราหารต่อไปจนกว่าผลหารเป็น 0 เราเขียนผลลัพธ์จากขวาไปซ้าย นั่นคือตัวเลขล่างสุด (1) จะอยู่ทางซ้ายสุด เป็นต้น ด้วยเหตุนี้เราจึงได้เลข 19 ในรูปแบบไบนารี่: 10011 .

การแปลงเลขทศนิยมที่เป็นเศษส่วนให้เป็นเลขฐานสอง

หากตัวเลขเดิมมีส่วนเป็นจำนวนเต็ม ก็จะถูกแปลงแยกจากเศษส่วน การแปลงเลขเศษส่วนจากระบบเลขฐานสิบเป็นระบบไบนารี่ทำได้โดยใช้อัลกอริทึมต่อไปนี้:

  • เศษส่วนคูณด้วยฐานของระบบเลขฐานสอง (2)
  • ในผลลัพธ์ที่ได้ ส่วนจำนวนเต็มจะถูกแยกออก ซึ่งถือเป็นหลักที่สำคัญที่สุดของตัวเลขในระบบเลขฐานสอง
  • อัลกอริทึมจะสิ้นสุดลงหากส่วนที่เป็นเศษส่วนของผลิตภัณฑ์ผลลัพธ์เท่ากับศูนย์หรือหากได้รับความแม่นยำในการคำนวณที่ต้องการ มิฉะนั้น การคำนวณจะดำเนินต่อไปในส่วนของเศษส่วนของผลิตภัณฑ์

ตัวอย่าง: คุณต้องแปลงเลขทศนิยมที่เป็นเศษส่วน 206,116 เป็นเลขฐานสองแบบเศษส่วน

การแปลส่วนทั้งหมดให้ 206 10 =11001110 2 ตามอัลกอริทึมที่อธิบายไว้ก่อนหน้านี้ เราคูณเศษส่วนของ 0.116 ด้วยฐาน 2 โดยป้อนส่วนจำนวนเต็มของผลิตภัณฑ์ลงในตำแหน่งทศนิยมของเลขฐานสองเศษส่วนที่ต้องการ:

0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
ฯลฯ

ดังนั้น 0.116 10 µ 0, 0001110110 2

เราได้รับ: 206.116 10 data 11001110.0001110110 2

การใช้งาน

ในอุปกรณ์ดิจิทัล

ระบบไบนารี่ใช้ในอุปกรณ์ดิจิทัลเนื่องจากเป็นระบบที่ง่ายที่สุดและตรงตามข้อกำหนด:

  • ยิ่งมีค่าในระบบน้อยลงเท่าไร การสร้างองค์ประกอบแต่ละอย่างที่ทำงานบนค่าเหล่านี้ก็จะยิ่งง่ายขึ้นเท่านั้น โดยเฉพาะอย่างยิ่ง ระบบเลขฐานสองสองหลักสามารถแสดงได้อย่างง่ายดายด้วยปรากฏการณ์ทางกายภาพหลายอย่าง: มีกระแส (กระแสมีค่ามากกว่าค่าเกณฑ์) - ไม่มีกระแส (กระแสน้อยกว่าค่าเกณฑ์) การเหนี่ยวนำสนามแม่เหล็กมีค่ามากกว่าค่าเกณฑ์หรือไม่ (การเหนี่ยวนำสนามแม่เหล็กน้อยกว่าค่าเกณฑ์) เป็นต้น
  • ยิ่งองค์ประกอบมีสถานะน้อยเท่าใด ภูมิคุ้มกันทางเสียงก็จะสูงขึ้นและสามารถทำงานได้เร็วขึ้นเท่านั้น ตัวอย่างเช่นในการเข้ารหัสสามสถานะผ่านขนาดของแรงดันไฟฟ้ากระแสหรือสนามแม่เหล็กคุณจะต้องแนะนำค่าเกณฑ์สองค่าและตัวเปรียบเทียบสองตัว

ในการคำนวณ การเขียนเลขฐานสองที่เป็นลบในส่วนเติมเต็มของสองนั้นใช้กันอย่างแพร่หลาย ตัวอย่างเช่น ตัวเลข −5 10 สามารถเขียนเป็น −101 2 ได้ แต่จะเก็บไว้เป็น 2 บนคอมพิวเตอร์ 32 บิต

ในระบบมาตรการภาษาอังกฤษ

เมื่อระบุขนาดเชิงเส้นเป็นนิ้ว เศษส่วนไบนารี่มักจะใช้แทนทศนิยม เช่น 5¾″, 7 15/16″, 3 11/32″ เป็นต้น

ลักษณะทั่วไป

ระบบเลขฐานสองคือการรวมกันของระบบการเข้ารหัสไบนารี่และฟังก์ชันการถ่วงน้ำหนักเลขชี้กำลังที่มีฐานเท่ากับ 2 ควรสังเกตว่าตัวเลขสามารถเขียนเป็นรหัสไบนารี่ได้ และระบบตัวเลขอาจไม่ใช่เลขฐานสอง แต่ด้วย ฐานที่แตกต่างกัน ตัวอย่าง: การเข้ารหัส BCD ซึ่งเขียนเลขทศนิยมในรูปแบบไบนารีและระบบตัวเลขเป็นทศนิยม

เรื่องราว

  • ชุดที่สมบูรณ์ของ 8 ตรีโกณมิติและ 64 เฮกซะแกรมซึ่งคล้ายคลึงกับตัวเลข 3 บิตและ 6 บิตเป็นที่รู้จักในประเทศจีนโบราณในตำราคลาสสิกของหนังสือแห่งการเปลี่ยนแปลง ลำดับของเฮกซะแกรมใน หนังสือแห่งการเปลี่ยนแปลงจัดเรียงตามค่าของเลขฐานสองที่เกี่ยวข้อง (ตั้งแต่ 0 ถึง 63) และวิธีการได้มาได้รับการพัฒนาโดยนักวิทยาศาสตร์และนักปรัชญาชาวจีน Shao Yong ในศตวรรษที่ 11 อย่างไรก็ตาม ไม่มีหลักฐานที่บ่งชี้ว่า Shao Yun เข้าใจกฎของเลขคณิตไบนารี โดยจัดเรียงสิ่งอันดับสองอักขระตามลำดับพจนานุกรม
  • ชุดซึ่งเป็นการรวมกันของเลขฐานสองถูกนำมาใช้โดยชาวแอฟริกันในการทำนายแบบดั้งเดิม (เช่น Ifa) ควบคู่ไปกับ geomancy ในยุคกลาง
  • ในปี ค.ศ. 1854 นักคณิตศาสตร์ชาวอังกฤษ จอร์จ บูล ตีพิมพ์บทความสำคัญที่อธิบายระบบพีชคณิตที่ใช้กับตรรกศาสตร์ ซึ่งปัจจุบันรู้จักกันในชื่อพีชคณิตแบบบูลีนหรือพีชคณิตแห่งตรรกศาสตร์ แคลคูลัสเชิงตรรกะของเขาถูกกำหนดให้มีบทบาทสำคัญในการพัฒนาวงจรอิเล็กทรอนิกส์ดิจิทัลสมัยใหม่
  • ในปี 1937 Claude Shannon ได้ส่งวิทยานิพนธ์ระดับปริญญาเอกเพื่อการป้องกันตัว การวิเคราะห์เชิงสัญลักษณ์ของวงจรรีเลย์และสวิตช์ซึ่งใช้พีชคณิตแบบบูลีนและเลขคณิตไบนารีสัมพันธ์กับรีเลย์และสวิตช์อิเล็กทรอนิกส์ เทคโนโลยีดิจิทัลสมัยใหม่ทั้งหมดมีพื้นฐานมาจากวิทยานิพนธ์ของแชนนอน
  • ในเดือนพฤศจิกายน พ.ศ. 2480 George Stibitz ซึ่งต่อมาทำงานที่ Bell Labs ได้สร้างคอมพิวเตอร์ "Model K" โดยใช้รีเลย์ เค itchen" ซึ่งเป็นห้องครัวที่ใช้ประกอบ) ซึ่งดำเนินการบวกเลขฐานสอง ในช่วงปลายปี พ.ศ. 2481 Bell Labs ได้เปิดตัวโครงการวิจัยที่นำโดย Stiebitz คอมพิวเตอร์ที่สร้างขึ้นภายใต้การนำของเขาสร้างเสร็จเมื่อวันที่ 8 มกราคม พ.ศ. 2483 สามารถดำเนินการกับจำนวนเชิงซ้อนได้ ในระหว่างการสาธิตในการประชุม American Mathematical Society ที่วิทยาลัย Dartmouth เมื่อวันที่ 11 กันยายน พ.ศ. 2483 Stibitz สาธิตความสามารถในการส่งคำสั่งไปยังเครื่องคำนวณจำนวนเชิงซ้อนระยะไกลผ่านสายโทรศัพท์โดยใช้เครื่องโทรพิมพ์ นี่เป็นความพยายามครั้งแรกในการใช้คอมพิวเตอร์ระยะไกลผ่านสายโทรศัพท์ ผู้เข้าร่วมการประชุมที่เห็นการสาธิตดังกล่าว ได้แก่ จอห์น ฟอน นอยมันน์, จอห์น มอชลีย์ และนอร์เบิร์ต วีเนอร์ ซึ่งต่อมาได้เขียนเกี่ยวกับเรื่องนี้ไว้ในบันทึกความทรงจำของพวกเขา

ดูสิ่งนี้ด้วย

หมายเหตุ

  1. โปโปวา โอลก้า วลาดิเมียร์รอฟนา หนังสือเรียนวิทยาการคอมพิวเตอร์ (ไม่ได้กำหนด) .

รหัสไบนารี่เป็นรูปแบบหนึ่งของการบันทึกข้อมูลในรูปแบบหนึ่งและศูนย์ นี่คือตำแหน่งที่มีฐานเป็น 2 ในปัจจุบัน รหัสไบนารี่ (ตารางที่แสดงด้านล่างนี้ประกอบด้วยตัวอย่างการเขียนตัวเลขบางส่วน) ถูกนำมาใช้ในอุปกรณ์ดิจิทัลทั้งหมดโดยไม่มีข้อยกเว้น ความนิยมนี้อธิบายได้จากความน่าเชื่อถือและความเรียบง่ายของการบันทึกรูปแบบนี้ เลขคณิตไบนารี่นั้นง่ายมาก ดังนั้นจึงง่ายต่อการนำไปใช้ในระดับฮาร์ดแวร์ ส่วนประกอบ (หรือที่เรียกกันว่าตรรกะ) มีความน่าเชื่อถือมาก เนื่องจากทำงานในสองสถานะเท่านั้น: ตรรกะหนึ่ง (มีกระแส) และศูนย์ตรรกะ (ไม่มีกระแส) ดังนั้นจึงเปรียบเทียบได้ดีกับส่วนประกอบอะนาล็อกซึ่งการดำเนินการนั้นขึ้นอยู่กับกระบวนการชั่วคราว

สัญกรณ์ไบนารีประกอบด้วยอย่างไร?

เรามาดูกันว่าคีย์ดังกล่าวเกิดขึ้นได้อย่างไร รหัสไบนารี่หนึ่งบิตสามารถมีเพียงสองสถานะ: ศูนย์และหนึ่ง (0 และ 1) เมื่อใช้สองบิต จะสามารถเขียนค่าได้สี่ค่า: 00, 01, 10, 11 รายการแบบสามบิตประกอบด้วยแปดสถานะ: 000, 001 ... 110, 111 ผลที่ได้คือ เราพบว่าความยาวของ รหัสไบนารี่ขึ้นอยู่กับจำนวนบิต นิพจน์นี้สามารถเขียนได้โดยใช้สูตรต่อไปนี้: N =2m โดยที่: m คือจำนวนหลัก และ N คือจำนวนชุดค่าผสม

ประเภทของรหัสไบนารี่

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

คีย์ประเภทต่อไปนี้มีความโดดเด่น ทั้งนี้ขึ้นอยู่กับความจำเป็นในการให้ข้อมูลนี้หรือข้อมูลนั้น:

  • ไม่ได้ลงนาม;
  • รหัสอักขระจำนวนเต็มโดยตรง
  • ลงนามผกผัน;
  • ลงชื่อเพิ่มเติม;
  • รหัสสีเทา
  • รหัสด่วนสีเทา
  • รหัสเศษส่วน

เรามาดูแต่ละรายการกันดีกว่า

รหัสไบนารี่ที่ไม่ได้ลงนาม

เรามาดูกันว่าการบันทึกประเภทนี้คืออะไร ในรหัสจำนวนเต็มที่ไม่ได้ลงนาม แต่ละหลัก (ไบนารี่) แทนค่ากำลังสอง ในกรณีนี้ จำนวนที่น้อยที่สุดที่สามารถเขียนได้ในรูปแบบนี้คือศูนย์ และค่าสูงสุดสามารถแสดงได้ด้วยสูตรต่อไปนี้: M = 2 n -1 ตัวเลขสองตัวนี้กำหนดช่วงของคีย์ที่สามารถใช้เพื่อแสดงรหัสไบนารี่ดังกล่าวได้อย่างสมบูรณ์ เรามาดูความสามารถของแบบฟอร์มการบันทึกดังกล่าวกัน เมื่อใช้คีย์ที่ไม่ได้ลงชื่อประเภทนี้ซึ่งประกอบด้วยแปดบิต ช่วงของตัวเลขที่เป็นไปได้จะอยู่ระหว่าง 0 ถึง 255 รหัสสิบหกบิตจะมีช่วงตั้งแต่ 0 ถึง 65535 ในโปรเซสเซอร์แปดบิตจะใช้เซกเตอร์หน่วยความจำสองตัว เพื่อจัดเก็บและเขียนตัวเลขดังกล่าวซึ่งอยู่ในจุดหมายปลายทางที่อยู่ติดกัน คำสั่งพิเศษช่วยให้ทำงานกับคีย์ดังกล่าวได้

รหัสที่ลงนามจำนวนเต็มโดยตรง

ในไบนารีคีย์ประเภทนี้ บิตที่สำคัญที่สุดจะใช้ในการบันทึกเครื่องหมายของตัวเลข ศูนย์สอดคล้องกับเครื่องหมายบวก และอีกหนึ่งสอดคล้องกับเครื่องหมายลบ จากการแนะนำตัวเลขนี้ ช่วงของตัวเลขที่เข้ารหัสจะเลื่อนไปทางด้านลบ ปรากฎว่าไบนารีคีย์เลขจำนวนเต็มแบบแปดบิตสามารถเขียนตัวเลขในช่วงตั้งแต่ -127 ถึง +127 สิบหกบิต - ในช่วงตั้งแต่ -32767 ถึง +32767 ไมโครโปรเซสเซอร์แปดบิตใช้สองเซกเตอร์ที่อยู่ติดกันเพื่อจัดเก็บรหัสดังกล่าว

ข้อเสียของการบันทึกรูปแบบนี้คือ จะต้องประมวลผลเครื่องหมายและบิตดิจิทัลของคีย์แยกกัน อัลกอริธึมของโปรแกรมที่ทำงานกับรหัสเหล่านี้มีความซับซ้อนมาก หากต้องการเปลี่ยนและไฮไลต์บิตเครื่องหมาย จำเป็นต้องใช้กลไกในการปิดบังสัญลักษณ์นี้ ซึ่งส่งผลให้ขนาดของซอฟต์แวร์เพิ่มขึ้นอย่างรวดเร็วและลดประสิทธิภาพลง เพื่อขจัดข้อเสียเปรียบนี้ จึงได้มีการแนะนำคีย์ประเภทใหม่ - รหัสไบนารี่แบบย้อนกลับ

ลงนามกุญแจย้อนกลับ

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

เลขฐานสองเสริมของสองตัวที่เซ็นชื่อ

บันทึกประเภทนี้ไม่มีข้อเสียที่ระบุไว้เหมือนกับคีย์ก่อนหน้า รหัสดังกล่าวช่วยให้สามารถรวมตัวเลขทั้งบวกและลบได้โดยตรง ในกรณีนี้ จะไม่มีการวิเคราะห์บิตเครื่องหมาย ทั้งหมดนี้เกิดขึ้นได้จากข้อเท็จจริงที่ว่าตัวเลขเสริมนั้นเป็นวงแหวนของสัญลักษณ์ตามธรรมชาติ แทนที่จะเป็นรูปแบบที่สร้างขึ้นเอง เช่น ปุ่มเดินหน้าและถอยหลัง นอกจากนี้ ปัจจัยสำคัญก็คือการคำนวณส่วนเสริมในรหัสไบนารี่เป็นเรื่องง่ายมาก ในการดำเนินการนี้ เพียงเพิ่มอันหนึ่งลงในคีย์ย้อนกลับ เมื่อใช้รหัสป้ายประเภทนี้ซึ่งประกอบด้วยตัวเลข 8 หลัก ช่วงของตัวเลขที่เป็นไปได้จะอยู่ระหว่าง -128 ถึง +127 คีย์สิบหกบิตจะมีช่วงตั้งแต่ -32768 ถึง +32767 โปรเซสเซอร์แปดบิตยังใช้สองเซกเตอร์ที่อยู่ติดกันเพื่อจัดเก็บตัวเลขดังกล่าว

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

รหัสสีเทา

การบันทึกรูปแบบนี้ถือเป็นคีย์ขั้นตอนเดียว นั่นคือในกระบวนการเปลี่ยนจากค่าหนึ่งไปอีกค่าหนึ่ง ข้อมูลเพียงเล็กน้อยเท่านั้นที่เปลี่ยนแปลง ในกรณีนี้ ข้อผิดพลาดในการอ่านข้อมูลทำให้เกิดการเปลี่ยนแปลงจากตำแหน่งหนึ่งไปอีกตำแหน่งหนึ่งโดยมีการเปลี่ยนเวลาเล็กน้อย อย่างไรก็ตาม การได้รับผลลัพธ์ที่ไม่ถูกต้องโดยสิ้นเชิงของตำแหน่งเชิงมุมด้วยกระบวนการดังกล่าวจะไม่รวมอยู่ด้วยโดยสิ้นเชิง ข้อดีของโค้ดดังกล่าวคือความสามารถในการสะท้อนข้อมูล ตัวอย่างเช่น คุณสามารถเปลี่ยนทิศทางการนับได้โดยการแปลงบิตที่สำคัญที่สุด สิ่งนี้เกิดขึ้นได้ด้วยอินพุตควบคุมเสริม ในกรณีนี้ ค่าเอาท์พุตอาจเพิ่มขึ้นหรือลดลงตามทิศทางทางกายภาพของการหมุนแกนก็ได้ เนื่องจากข้อมูลที่บันทึกไว้ในคีย์สีเทานั้นมีการเข้ารหัสในลักษณะเฉพาะซึ่งไม่มีข้อมูลตัวเลขจริงก่อนที่จะดำเนินการต่อไปจึงจำเป็นต้องแปลงเป็นรูปแบบการบันทึกไบนารีตามปกติก่อน ทำได้โดยใช้ตัวแปลงพิเศษ - ตัวถอดรหัส Grey-Binar อุปกรณ์นี้ใช้งานได้ง่ายโดยใช้องค์ประกอบตรรกะเบื้องต้นทั้งในฮาร์ดแวร์และซอฟต์แวร์

รหัสด่วนสีเทา

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

การแทนจำนวนเศษส่วนในไบนารีคีย์จุดคงที่

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

การแสดงจุดลอยตัวแบบไบนารี

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

เชื่อกันว่าแคลคูลัสไบนารี่ถูกประดิษฐ์ขึ้นในช่วงต้นศตวรรษที่ 18 โดยนักคณิตศาสตร์ชาวเยอรมัน Gottfried Leibniz อย่างไรก็ตาม ดังที่นักวิทยาศาสตร์ค้นพบเมื่อไม่นานมานี้ ก่อนที่เกาะ Mangareva ของโพลีนีเซียน จะใช้เลขคณิตประเภทนี้ แม้ว่าการล่าอาณานิคมจะทำลายระบบจำนวนดั้งเดิมเกือบทั้งหมด แต่นักวิทยาศาสตร์ก็ได้ฟื้นฟูการนับแบบเลขฐานสองและทศนิยมที่ซับซ้อนขึ้นมาใหม่ นอกจากนี้ นักวิทยาศาสตร์ด้านความรู้ความเข้าใจ Nunez อ้างว่าการเข้ารหัสแบบไบนารีถูกนำมาใช้ในจีนโบราณตั้งแต่ต้นศตวรรษที่ 9 ก่อนคริสต์ศักราช จ. อารยธรรมโบราณอื่นๆ เช่น ชาวมายัน ยังใช้ระบบทศนิยมและไบนารี่ที่ซับซ้อนเพื่อติดตามช่วงเวลาและปรากฏการณ์ทางดาราศาสตร์

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

ต่างจากการเข้ารหัสทศนิยมของตัวเลขที่เราคุ้นเคยนั่นคือรหัสที่มีฐานสิบและมีการเข้ารหัสแบบไบนารี่ฐานของรหัสคือเลขสอง (รูปที่ 2.9) นั่นคือรหัสแต่ละหลัก (แต่ละหลัก) ของรหัสไบนารี่สามารถรับค่าได้ไม่เกินสิบค่า (เช่นในรหัสทศนิยม: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9) แต่เท่านั้น สอง - 0 และ 1 ระบบการบันทึกตำแหน่งยังคงเหมือนเดิมนั่นคือหลักที่มีนัยสำคัญน้อยที่สุดเขียนไว้ทางด้านขวาและหลักที่สำคัญที่สุดทางด้านซ้าย แต่ถ้าในระบบทศนิยมน้ำหนักของตัวเลขที่ตามมาแต่ละหลักมากกว่าน้ำหนักของตัวเลขก่อนหน้าสิบเท่าดังนั้นในระบบไบนารี่ (ที่มีการเข้ารหัสไบนารี่) จะมีขนาดใหญ่เป็นสองเท่า รหัสไบนารี่แต่ละบิตเรียกว่าบิต (จากภาษาอังกฤษ "Binary Digit" - "เลขฐานสอง")

ข้าว. 2.9.การเข้ารหัสทศนิยมและไบนารี

ในตาราง รูปที่ 2.3 แสดงความสอดคล้องระหว่างตัวเลข 20 หลักแรกในระบบทศนิยมและไบนารี่

ตารางแสดงให้เห็นว่าจำนวนบิตรหัสไบนารี่ที่ต้องการนั้นมากกว่าจำนวนบิตรหัสทศนิยมที่ต้องการอย่างมาก จำนวนสูงสุดที่เป็นไปได้ซึ่งมีจำนวนหลักเท่ากับสามคือ 999 ในระบบทศนิยม และมีเพียง 7 ในระบบไบนารี่ (นั่นคือ 111 ในรหัสไบนารี่) โดยทั่วไป เลขฐานสองขนาด n บิตสามารถรับค่าที่แตกต่างกันได้ 2n ค่า และเลขฐานสิบขนาด n บิตสามารถรับค่าที่แตกต่างกันได้ 10n ค่า นั่นคือการเขียนเลขฐานสองขนาดใหญ่ (มากกว่าสิบหลัก) จะไม่สะดวกนัก

ตารางที่ 2.3. ความสอดคล้องกันระหว่างตัวเลขในระบบทศนิยมและไบนารี่
ระบบทศนิยม ระบบไบนารี่ ระบบทศนิยม ระบบไบนารี่

เพื่อให้การบันทึกเลขฐานสองง่ายขึ้น จึงเสนอสิ่งที่เรียกว่าระบบเลขฐานสิบหก (การเข้ารหัสเลขฐานสิบหก) ในกรณีนี้ บิตไบนารี่ทั้งหมดจะถูกแบ่งออกเป็นกลุ่มๆ ละสี่บิต (เริ่มจากบิตที่มีนัยสำคัญน้อยที่สุด) จากนั้นแต่ละกลุ่มจะถูกเข้ารหัสด้วยสัญลักษณ์เดียว แต่ละกลุ่มดังกล่าวเรียกว่า แทะ(หรือ แทะ, สมุดบันทึก) และสองกลุ่ม (8 บิต) - ไบต์ จากโต๊ะ 2.3 แสดงให้เห็นว่าเลขฐานสอง 4 บิตสามารถรับค่าที่แตกต่างกันได้ 16 ค่า (ตั้งแต่ 0 ถึง 15) ดังนั้นจำนวนอักขระที่จำเป็นสำหรับรหัสฐานสิบหกก็คือ 16 เช่นกัน จึงเป็นชื่อของรหัส อักขระ 10 ตัวแรกคือตัวเลขตั้งแต่ 0 ถึง 9 จากนั้นใช้อักษรตัวใหญ่เริ่มต้น 6 ตัวของตัวอักษรละติน: A, B, C, D, E, F

ข้าว. 2.10.สัญกรณ์เลขฐานสองและเลขฐานสิบหก

ในตาราง 2.4 แสดงตัวอย่างการเข้ารหัสเลขฐานสิบหกของตัวเลข 20 ตัวแรก (เลขฐานสองอยู่ในวงเล็บ) และรูปที่ 2 รูปที่ 2.10 แสดงตัวอย่างการเขียนเลขฐานสองในรูปแบบเลขฐานสิบหก ในการแสดงการเข้ารหัสเลขฐานสิบหก บางครั้งตัวอักษร "h" หรือ "H" (จากภาษาอังกฤษ เลขฐานสิบหก) จะถูกใช้ที่ส่วนท้ายของตัวเลข ตัวอย่างเช่น รายการ A17F h หมายถึงเลขฐานสิบหก A17F โดยที่ A1 หมายถึงไบต์สูงของตัวเลข และ 7F คือไบต์ต่ำของตัวเลข มีการเรียกหมายเลขทั้งหมด (ในกรณีของเราคือหมายเลขสองไบต์) สรุป.

ตารางที่ 2.4. ระบบการเข้ารหัสเลขฐานสิบหก
ระบบทศนิยม ระบบเลขฐานสิบหก ระบบทศนิยม ระบบเลขฐานสิบหก
0 (0) เอ (1010)
1(1) บี (1011)
2 (10) ค (1100)
3 (11) ดี (1101)
4 (100) อี (1110)
5 (101) ฉ (1111)
6 (110) 10 (10000)
7 (111) 11 (10001)
8 (1000) 12 (10010)
9 (1001) 13 (10011)

ในการแปลงเลขฐานสิบหกเป็นเลขทศนิยม คุณต้องคูณค่าของหลักต่ำสุด (ศูนย์) ด้วยหนึ่ง ค่าของหลักถัดไป (แรก) ด้วย 16 หลักที่สองด้วย 256 (16 2) เป็นต้น แล้วเพิ่มผลิตภัณฑ์ทั้งหมด ตัวอย่างเช่น ใช้หมายเลข A17F:

A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343

แต่ผู้เชี่ยวชาญด้านอุปกรณ์ดิจิทัลทุกคน (นักพัฒนา ผู้ปฏิบัติงาน ช่างซ่อม โปรแกรมเมอร์ ฯลฯ) จำเป็นต้องเรียนรู้การจัดการระบบเลขฐานสิบหกและไบนารี่อย่างอิสระ เช่นเดียวกับระบบทศนิยมปกติ ดังนั้นจึงไม่จำเป็นต้องถ่ายโอนจากระบบหนึ่งไปยังอีกระบบหนึ่ง

นอกเหนือจากรหัสที่กล่าวถึงแล้ว ยังมีสิ่งที่เรียกว่าการแสดงตัวเลขทศนิยมฐานสองอีกด้วย เช่นเดียวกับรหัสฐานสิบหก ในรหัส BCD แต่ละหลักของรหัสจะสอดคล้องกับเลขฐานสองสี่หลัก อย่างไรก็ตาม แต่ละกลุ่มของเลขฐานสองสี่หลักสามารถรับได้ไม่เกินสิบหก แต่มีเพียงสิบค่าเท่านั้นที่เข้ารหัสด้วยอักขระ 0, 1, 2, 3, 4 , 5, 6, 7, 8, 9 นั่นคือ ทศนิยมหนึ่งตำแหน่งตรงกับเลขฐานสองสี่ตำแหน่ง ปรากฏว่าการเขียนตัวเลขในรหัสทศนิยมไบนารี่ก็ไม่ต่างจากการเขียนรหัสทศนิยมธรรมดา (ตาราง 2.6) แต่ในความเป็นจริงแล้วเป็นเพียงรหัสไบนารี่พิเศษซึ่งแต่ละหลักสามารถรับค่าได้เพียง 2 ค่าเท่านั้น คือ 0 และ 1. บางครั้งรหัส BCD ก็สะดวกมากสำหรับการจัดระเบียบตัวบ่งชี้ดิจิตอลทศนิยมและกระดานคะแนน

ตารางที่ 2.6. ระบบการเข้ารหัสทศนิยมไบนารี
ระบบทศนิยม ระบบทศนิยมไบนารี ระบบทศนิยม ระบบทศนิยมไบนารี
0 (0) 10 (1000)
1(1) 11 (1001)
2 (10) 12 (10010)
3 (11) 13 (10011)
4 (100) 14 (10100)
5 (101) 15 (10101)
6 (110) 16 (10110)
7 (111) 17 (10111)
8 (1000) 18 (11000)
9 (1001) 19 (11001)

ในรหัสไบนารี่ คุณสามารถดำเนินการทางคณิตศาสตร์กับตัวเลขได้ เช่น การบวก การลบ การคูณ การหาร

ตัวอย่างเช่น ลองบวกเลขฐานสองขนาด 4 บิตสองตัว ให้เราบวกตัวเลข 0111 (ทศนิยม 7) และ 1,011 (ทศนิยม 11) การเพิ่มตัวเลขเหล่านี้ไม่ยากไปกว่าในรูปแบบทศนิยม:

เมื่อบวก 0 และ 0 เราจะได้ 0 เมื่อบวก 1 และ 0 เราจะได้ 1 เมื่อบวก 1 และ 1 เราจะได้ 0 และทดไปที่เลขหลักถัดไป 1 ผลลัพธ์คือ 10010 (ทศนิยม 18) การเพิ่มเลขฐานสอง n บิตใดๆ เข้าไปสามารถให้ผลลัพธ์เป็นตัวเลข n บิตหรือตัวเลข (n+1) บิต

การลบทำได้ในลักษณะเดียวกัน ให้ลบเลข 0111 (7) ออกจากเลข 10010 (18) เราเขียนตัวเลขที่จัดอยู่ในหลักที่มีนัยสำคัญน้อยที่สุดแล้วลบด้วยวิธีเดียวกับในกรณีของระบบทศนิยม:

เมื่อลบ 0 จาก 0 เราจะได้ 0 เมื่อลบ 0 จาก 1 เราจะได้ 1 เมื่อลบ 1 จาก 1 เราจะได้ 0 เมื่อลบ 1 จาก 0 เราจะได้ 1 และยืม 1 ในหลักถัดไป ผลลัพธ์คือ 1,011 (ทศนิยม 11)

เมื่อลบก็เป็นไปได้ที่จะได้จำนวนลบ ดังนั้นคุณต้องใช้การแทนเลขฐานสองของจำนวนลบ

เพื่อที่จะแทนทั้งเลขฐานสองบวกและเลขลบฐานสองพร้อมกัน มักใช้รหัสเสริมของสองที่เรียกว่ารหัสเสริมสอง ตัวเลขติดลบในโค้ดนี้จะแสดงด้วยตัวเลขซึ่งเมื่อบวกเข้ากับจำนวนบวกที่มีค่าเท่ากัน จะส่งผลให้กลายเป็นศูนย์ คุณต้องเปลี่ยนบิตทั้งหมดของจำนวนบวกเดียวกันให้เป็นจำนวนตรงข้าม (0 ถึง 1, 1 ถึง 0) แล้วบวก 1 เข้ากับผลลัพธ์ ตัวอย่างเช่น เขียนตัวเลข –5 หมายเลข 5 ในรหัสไบนารี่ดูเหมือน 0101 เราแทนที่บิตด้วยบิตที่ตรงกันข้าม: 1010 และเพิ่มหนึ่ง: 1011 เรารวมผลลัพธ์ด้วยหมายเลขเดิม: 1011 + 0101 = 0000 (เราไม่สนใจการโอนไปยังหลักที่ห้า) .

จำนวนลบในโค้ดเสริมของ two จะแตกต่างจากจำนวนบวกด้วยค่าของหลักที่มีนัยสำคัญที่สุด โดยหนึ่งในหลักที่มีนัยสำคัญที่สุดจะกำหนดจำนวนลบ และศูนย์จะกำหนดจำนวนบวก

นอกเหนือจากการดำเนินการทางคณิตศาสตร์มาตรฐานแล้ว ระบบเลขฐานสองยังใช้การดำเนินการเฉพาะบางอย่าง เช่น การบวกโมดูโล 2 การดำเนินการนี้ (แสดงด้วย A) จะเป็นระดับบิต กล่าวคือ ไม่มีการโอนจากหลักหนึ่งไปยังอีกหลักหนึ่งและไม่มีการยืมใน ตัวเลขสูงสุด กฎสำหรับการบวกโมดูโล 2 มีดังนี้: , , . การดำเนินการเดียวกันนี้เรียกว่าฟังก์ชัน พิเศษหรือ. ตัวอย่างเช่น ลองรวมโมดูโล 2 เลขฐานสองสองตัว 0111 และ 1011:

การดำเนินการระดับบิตอื่นๆ กับเลขฐานสอง ได้แก่ ฟังก์ชัน AND และฟังก์ชัน OR ฟังก์ชัน AND จะให้ผลลัพธ์เป็นค่าเดียวก็ต่อเมื่อบิตที่สอดคล้องกันของตัวเลขเดิมทั้งสองเป็นค่าเดียวกันเท่านั้น มิฉะนั้นผลลัพธ์จะเป็น -0 ฟังก์ชัน OR ให้ผลลัพธ์เป็นหนึ่งเมื่อบิตที่สอดคล้องกันอย่างน้อยหนึ่งบิตของตัวเลขเดิมคือ 1 มิฉะนั้นผลลัพธ์จะเป็น 0

ชุดอักขระที่ใช้เขียนข้อความเรียกว่า ตัวอักษร.

จำนวนอักขระในตัวอักษรคือตัวมัน พลัง.

สูตรกำหนดปริมาณข้อมูล: ยังไม่มีข้อความ=2ข,

โดยที่ N คือพลังของตัวอักษร (จำนวนอักขระ)

b – จำนวนบิต (น้ำหนักข้อมูลของสัญลักษณ์)

ตัวอักษรที่มีความจุ 256 ตัวอักษรสามารถรองรับอักขระที่จำเป็นได้เกือบทั้งหมด ตัวอักษรนี้เรียกว่า เพียงพอ.

เพราะ 256 = 2 8 ดังนั้นน้ำหนักของ 1 ตัวอักษรคือ 8 บิต

ชื่อหน่วยวัด 8 บิต 1 ไบต์:

1 ไบต์ = 8 บิต

รหัสไบนารีของอักขระแต่ละตัวในข้อความคอมพิวเตอร์ใช้หน่วยความจำ 1 ไบต์

ข้อมูลข้อความแสดงอยู่ในหน่วยความจำคอมพิวเตอร์อย่างไร

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

ตอนนี้มีคำถามเกิดขึ้นว่าจะใช้รหัสไบนารี่ 8 บิตใดในการกำหนดให้กับอักขระแต่ละตัว

เป็นที่ชัดเจนว่านี่เป็นเรื่องที่มีเงื่อนไขคุณสามารถคิดวิธีการเข้ารหัสได้หลายวิธี

อักขระทั้งหมดของตัวอักษรคอมพิวเตอร์มีหมายเลขตั้งแต่ 0 ถึง 255 ตัวเลขแต่ละตัวสอดคล้องกับรหัสไบนารี่ 8 บิตตั้งแต่ 00000000 ถึง 11111111 รหัสนี้เป็นเพียงหมายเลขซีเรียลของอักขระในระบบเลขฐานสอง

ตารางที่อักขระทั้งหมดของตัวอักษรคอมพิวเตอร์ถูกกำหนดหมายเลขซีเรียลเรียกว่าตารางการเข้ารหัส

คอมพิวเตอร์ประเภทต่างๆ จะใช้ตารางการเข้ารหัสที่แตกต่างกัน

โต๊ะนี้ได้กลายเป็นมาตรฐานสากลสำหรับพีซี แอสกี(อ่านถาม) (รหัส American Standard สำหรับการแลกเปลี่ยนข้อมูล)

ตารางรหัส ASCII แบ่งออกเป็นสองส่วน

เพียงครึ่งแรกของตารางเท่านั้นที่เป็นมาตรฐานสากลเช่น สัญลักษณ์ที่มีตัวเลขจาก 0 (00000000) สูงสุด 127 (01111111).

โครงสร้างตารางการเข้ารหัส ASCII

หมายเลขซีเรียล

รหัส

เครื่องหมาย

0 - 31

00000000 - 00011111

สัญลักษณ์ที่มีตัวเลขตั้งแต่ 0 ถึง 31 มักเรียกว่าสัญลักษณ์ควบคุม
หน้าที่คือควบคุมกระบวนการแสดงข้อความบนหน้าจอหรือการพิมพ์ การส่งเสียงสัญญาณเสียง การทำเครื่องหมายข้อความ ฯลฯ

32 - 127

00100000 - 01111111

ส่วนมาตรฐานของตาราง (ภาษาอังกฤษ) ซึ่งรวมถึงอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของตัวอักษรละติน เลขทศนิยม เครื่องหมายวรรคตอน วงเล็บทุกชนิด สัญลักษณ์ทางการค้าและสัญลักษณ์อื่น ๆ
อักขระ 32 เป็นช่องว่างเช่น ตำแหน่งว่างในข้อความ
ส่วนอื่นๆ ทั้งหมดจะสะท้อนให้เห็นด้วยสัญญาณบางอย่าง

128 - 255

10000000 - 11111111

ส่วนทางเลือกของตาราง (ภาษารัสเซีย)
ครึ่งหลังของตารางโค้ด ASCII เรียกว่าโค้ดเพจ (128 รหัส เริ่มต้นจาก 10000000 และลงท้ายด้วย 11111111) สามารถมีตัวเลือกที่แตกต่างกัน แต่ละตัวเลือกมีหมายเลขของตัวเอง
โค้ดเพจใช้เพื่อรองรับตัวอักษรประจำชาติอื่นที่ไม่ใช่ละตินเป็นหลัก ในการเข้ารหัสระดับชาติของรัสเซีย อักขระจากตัวอักษรรัสเซียจะถูกวางไว้ในส่วนนี้ของตาราง

ครึ่งแรกของตารางรหัส ASCII


โปรดทราบว่าในตารางการเข้ารหัส ตัวอักษร (ตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก) จะถูกจัดเรียงตามลำดับตัวอักษร และตัวเลขจะถูกเรียงลำดับจากน้อยไปหามาก การปฏิบัติตามลำดับพจนานุกรมในการจัดเรียงสัญลักษณ์นี้เรียกว่าหลักการเข้ารหัสตามลำดับตัวอักษร

สำหรับตัวอักษรของตัวอักษรรัสเซียจะปฏิบัติตามหลักการเข้ารหัสตามลำดับด้วย

ครึ่งหลังของตารางรหัส ASCII


น่าเสียดายที่ขณะนี้มีการเข้ารหัส Cyrillic ที่แตกต่างกันห้าแบบ (KOI8-R, Windows, MS-DOS, Macintosh และ ISO) ด้วยเหตุนี้จึงมักเกิดปัญหากับการถ่ายโอนข้อความภาษารัสเซียจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งจากระบบซอฟต์แวร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง

ตามลำดับเวลา หนึ่งในมาตรฐานแรกๆ สำหรับการเข้ารหัสตัวอักษรรัสเซียบนคอมพิวเตอร์คือ KOI8 ("รหัสแลกเปลี่ยนข้อมูล 8 บิต") การเข้ารหัสนี้ถูกใช้ย้อนกลับไปในยุค 70 บนคอมพิวเตอร์ซีรีส์คอมพิวเตอร์ ES และตั้งแต่กลางทศวรรษที่ 80 ก็เริ่มใช้ในระบบปฏิบัติการ UNIX เวอร์ชัน Russified รุ่นแรก

ตั้งแต่ต้นทศวรรษที่ 90 ถึงเวลาที่ระบบปฏิบัติการ MS DOS ครอบงำการเข้ารหัส CP866 ยังคงอยู่ ("CP" หมายถึง "โค้ดเพจ", "โค้ดเพจ")

คอมพิวเตอร์ Apple ที่ใช้ระบบปฏิบัติการ Mac OS ใช้การเข้ารหัส Mac ของตัวเอง

นอกจากนี้ องค์การมาตรฐานระหว่างประเทศ (ISO) ได้อนุมัติการเข้ารหัสอื่นที่เรียกว่า ISO 8859-5 เพื่อเป็นมาตรฐานสำหรับภาษารัสเซีย

การเข้ารหัสที่ใช้กันมากที่สุดในปัจจุบันคือ Microsoft Windows ย่อว่า CP1251

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

ลองใช้ตาราง ASCII เพื่อจินตนาการว่าคำในหน่วยความจำของคอมพิวเตอร์จะเป็นอย่างไร

การแสดงคำภายในในหน่วยความจำคอมพิวเตอร์

บางครั้งมันเกิดขึ้นว่าไม่สามารถอ่านข้อความที่ประกอบด้วยตัวอักษรรัสเซียที่ได้รับจากคอมพิวเตอร์เครื่องอื่นได้ - "abracadabra" บางชนิดปรากฏบนหน้าจอมอนิเตอร์ สิ่งนี้เกิดขึ้นเนื่องจากคอมพิวเตอร์ใช้การเข้ารหัสอักขระที่แตกต่างกันสำหรับภาษารัสเซีย

เครื่องมือในการแปลงไบนารี รหัสไบนารี่เป็นระบบตัวเลขที่ใช้ฐาน 2 ที่ใช้ในสารสนเทศ สัญลักษณ์ที่ใช้ในรูปแบบไบนารีโดยทั่วไปจะเป็นศูนย์และหนึ่ง (0 และ 1)

คำตอบสำหรับคำถาม

คุณสามารถแก้ไขการถามตอบนี้ได้ (เพิ่มข้อมูลใหม่ ปรับปรุงการแปล ฯลฯ) " itemscope="" itemtype="http://schema.org/Question">

จะแปลงตัวเลขเป็นไบนารี่ได้อย่างไร?

การแปลงตัวเลขเป็นไบนารี่ (มีศูนย์และหนึ่ง) ประกอบด้วย a จากฐาน 10 ถึงฐาน 2 (โดยธรรมชาติ) รหัสไบนารี่)

ตัวอย่าง: 5 (ฐาน 10) = 1*2^2+0*2^1+1*2^0 = 101 (ฐาน 2)

วิธีการประกอบด้วยการหารต่อเนื่องด้วย 2 และสังเกตส่วนที่เหลือ (0 หรือ 1 ) ในลำดับย้อนกลับ

ตัวอย่าง: 6/2 = 3 ยังคงเป็น 0 จากนั้น 3/2 = 1 ยังคงเป็น 1 จากนั้น 1/2 = 0 ยังคงเป็น 1 เศษต่อเนื่องกันคือ 0,1,1 ดังนั้น 6 จึงเขียนเป็น 110 ในรูปแบบไบนารี.

คุณสามารถแก้ไขการถามตอบนี้ได้ (เพิ่มข้อมูลใหม่ ปรับปรุงการแปล ฯลฯ) " itemscope="" itemtype="http://schema.org/Question">

วิธีแปลงข้อความเป็นไบนารี่?

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

ตัวอย่าง: AZ คือ 65.90 () ดังนั้น 1000001.1011010 ในรูปแบบไบนารี

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

คุณสามารถแก้ไขการถามตอบนี้ได้ (เพิ่มข้อมูลใหม่ ปรับปรุงการแปล ฯลฯ) " itemscope="" itemtype="http://schema.org/Question">

วิธีการแปลไบนารี่

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

คุณสามารถแก้ไขการถามตอบนี้ได้ (เพิ่มข้อมูลใหม่ ปรับปรุงการแปล ฯลฯ) " itemscope="" itemtype="http://schema.org/Question">

อะไรสักหน่อย?

บิต (การหดตัวของเลขฐานสอง) เป็นสัญลักษณ์ในรูปแบบไบนารี: 0 หรือ 1

คุณสามารถแก้ไขการถามตอบนี้ได้ (เพิ่มข้อมูลใหม่ ปรับปรุงการแปล ฯลฯ) " itemscope="" itemtype="http://schema.org/Question">

ส่วนเสริม 1" คืออะไร?

ในทางสารสนเทศ ส่วนเสริมคือการเขียนตัวเลขที่ผกผัน 0 และ 1

ตัวอย่าง: 0111 กลายเป็น 1,000 ดังนั้น 7 จึงกลายเป็น -7

คุณสามารถแก้ไขการถามตอบนี้ได้ (เพิ่มข้อมูลใหม่ ปรับปรุงการแปล ฯลฯ) " itemscope="" itemtype="http://schema.org/Question">

ส่วนเสริม 2" คืออะไร?

ในสารสนเทศศาสตร์ ส่วนเสริมอย่างหนึ่งคือการเขียนตัวเลขที่กลับด้านลบ 0 และ 1 แล้วบวก 1

ตัวอย่าง: 0111 กลายเป็น 1001

ถามคำถามใหม่

รหัสแหล่งที่มา

dCode ยังคงความเป็นเจ้าของซอร์สโค้ดของสคริปต์ Binary Code ออนไลน์ ยกเว้นใบอนุญาตโอเพ่นซอร์สที่ชัดเจน (ระบุ Creative Commons / ฟรี) อัลกอริธึม แอปเพล็ต ตัวอย่าง ซอฟต์แวร์ (ตัวแปลง ตัวแก้ปัญหา การเข้ารหัส / ถอดรหัส การเข้ารหัส / ถอดรหัส การเข้ารหัส / ถอดรหัส นักแปล) หรือฟังก์ชันใด ๆ (แปลง แก้ ถอดรหัส) , เข้ารหัส, ถอดรหัส, เข้ารหัส, ถอดรหัส, รหัส, แปล) ที่เขียนด้วยภาษาข้อมูลใดๆ (PHP, Java, C#, Python, Javascript, Matlab ฯลฯ) ซึ่ง dCode เป็นเจ้าของสิทธิ์จะไม่ถูกเผยแพร่ฟรี หากต้องการดาวน์โหลดสคริปต์ Binary Code ออนไลน์สำหรับการใช้งานออฟไลน์บนพีซี iPhone หรือ Android โปรดสอบถามราคา