กลับไปหน้าบทความ

อ่าน 19 นาที

เลขฐานสอง

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

เลขฐานสอง

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

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

เลขฐานสิบเลขฐานสอง
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
81000
91001
101010
111011
121100
131101
141110
151111

ประวัติศาสตร์

ระบบเลขฐานสองสมัยใหม่ได้รับการศึกษาครั้งแรกในยุโรปในช่วงศตวรรษที่ 16 และ 17 โดยโทมัส แฮร์ริออตและอีกหลายทศวรรษต่อมาโดยก็อตต์ฟรีด ไลบ์นิซซึ่งได้รับการยกย่องว่าเป็นผู้คิดค้น[ 2 ]อย่างไรก็ตาม ระบบที่เกี่ยวข้องกับเลขฐานสองได้ปรากฏขึ้นก่อนหน้านี้ในหลายวัฒนธรรม รวมถึงอียิปต์โบราณ จีน ยุโรป และอินเดีย เช่น ในส่วนที่เกี่ยวข้องกับการทำนายโดยใช้ล็อตเลขฐานสอง[ 3 ]

อียิปต์

ค่าทางคณิตศาสตร์ที่เชื่อกันว่าแทนด้วยส่วนต่างๆ ของดวงตาแห่งฮอรัส

นักเขียนของอียิปต์โบราณใช้ระบบเศษส่วนสองระบบที่แตกต่างกัน ได้แก่เศษส่วนอียิปต์ (ไม่เกี่ยวข้องกับระบบเลขฐานสอง) และ เศษส่วน ตาฮอรัส (เรียกเช่นนั้นเพราะนักประวัติศาสตร์คณิตศาสตร์บางคนเชื่อว่าสัญลักษณ์ที่ใช้สำหรับระบบนี้สามารถจัดเรียงให้เป็นรูปตาของฮอรัสได้แม้ว่าเรื่องนี้จะถูกโต้แย้งก็ตาม) [ 4 ] เศษส่วนตา ฮรัสเป็นระบบเลขฐานสองสำหรับปริมาณเศษส่วนของเมล็ดพืช ของเหลว หรือหน่วยวัดอื่นๆ โดยที่เศษส่วนของเฮกัจะแสดงเป็นผลรวมของเศษส่วนฐานสอง1/2 , 1/4 , 1/8 , 1/16 , 1/32และ1/64รูปแบบเริ่มต้นของระบบนี้สามารถพบได้ในเอกสารจากราชวงศ์ที่ห้าของอียิปต์ประมาณ 2400 ปีก่อนคริสตกาล และรูปแบบอักษรฮีโรกลิฟิกที่พัฒนาอย่างสมบูรณ์มีอายุย้อนไปถึงราชวงศ์ที่สิบเก้าของอียิปต์ประมาณ 1200 ปีก่อนคริสตกาล[ 5 ]

วิธีการคูณของชาวอียิปต์โบราณมีความเกี่ยวข้องอย่างใกล้ชิดกับเลขฐานสอง ในวิธีนี้ การคูณจำนวนหนึ่งด้วยจำนวนที่สองจะดำเนินการตามลำดับขั้นตอน โดยที่ค่า (ในตอนแรกคือจำนวนแรกจากสองจำนวน) จะถูกคูณด้วยสองหรือบวกจำนวนแรกกลับเข้าไป ลำดับในการดำเนินการตามขั้นตอนเหล่านี้จะกำหนดโดยการแสดงเลขฐานสองของจำนวนที่สอง วิธีนี้สามารถพบเห็นได้ในการใช้งาน เช่น ในRhind Mathematical Papyrusซึ่งมีอายุราว 1650 ปีก่อนคริสตกาล[ 6 ]

จีน

เต๋าปากัว

คัมภีร์อี้จิงมีมาตั้งแต่ศตวรรษที่ 9 ก่อนคริสต์ศักราชในประเทศจีน[ 7 ]การใช้สัญลักษณ์ไบนารีในคัมภีร์อี้จิงนั้นใช้เพื่อตีความเทคนิคการทำนายแบบค วอเทอร์นารี [ 8 ]

มีพื้นฐานมาจากหลักทวิภาวะของหยินและหยาง ตามลัทธิ เต๋า[ 9 ]ไตรแกรมแปดชุด (ปาเกา)และชุดเฮกซาแกรม 64 ชุด ("กัว 64")ซึ่งเทียบเคียงได้กับเลขฐานสองสามบิตและหกบิต ถูกนำมาใช้อย่างน้อยตั้งแต่สมัยราชวงศ์โจวของจีนโบราณ[ 7 ]

นักปราชญ์ สมัย ราชวงศ์ซ่งชื่อเส้าหยง (ค.ศ. 1011–1077) ได้จัดเรียงเฮกซาแกรมใหม่ในรูปแบบที่คล้ายกับเลขฐานสองในปัจจุบัน แม้ว่าเขาจะไม่ได้ตั้งใจให้การจัดเรียงของเขาถูกนำไปใช้ทางคณิตศาสตร์ ก็ตาม [ 8 ]การดูบิตที่มีนัยสำคัญน้อยที่สุดบนเฮกซาแกรมเดี่ยวในตารางของเส้าหยง[ 10 ] และการอ่านตามแถวจากล่างขวาไปบนซ้ายโดยใช้เส้นทึบแทน 0 และเส้นประแทน 1 หรือจากบนซ้ายไปล่างขวาโดยใช้เส้นทึบแทน 1 และเส้นประแทน 0 สามารถตีความได้ว่าเป็นลำดับจาก 0 ถึง 63 [ 11 ]

ยุคโบราณคลาสสิก

ชาวเอตรัสกันแบ่งขอบด้านนอกของตับทำนายออกเป็นสิบหกส่วน แต่ละส่วนจารึกด้วยชื่อของเทพเจ้าและภูมิภาคบนท้องฟ้าของแต่ละเทพนั้น แต่ละภูมิภาคของตับจะสร้างการอ่านแบบไบนารีซึ่งจะถูกรวมเข้าด้วยกันเป็นไบนารีสุดท้ายสำหรับการทำนาย[ 12 ]

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

อินเดีย

นักวิชาการชาวอินเดียชื่อปิงกาลา (ราวศตวรรษที่ 2 ก่อนคริสต์ศักราช) ได้พัฒนาระบบไบนารีเพื่ออธิบายฉันทลักษณ์[ 14 ] [ 15 ] เขาอธิบายฉันทลักษณ์ในรูปแบบของพยางค์สั้นและพยางค์ยาว (โดยพยางค์ยาวมีความยาวเท่ากับพยางค์สั้นสองพยางค์) [ 16 ] พยางค์ เหล่านี้เรียกว่าพยางค์ลาฆุ (เบา) และพยางค์คุรุ (หนัก)

คัมภีร์ฮินดูคลาสสิกของปิงคลาชื่อจันทศาสตรา (8.23) อธิบายถึงการสร้างเมทริกซ์เพื่อกำหนดค่าที่ไม่ซ้ำกันให้กับฉันทลักษณ์แต่ละแบบ “จันทศาสตรา” แปลตรงตัวว่าวิทยาศาสตร์แห่งฉันทลักษณ์ในภาษาสันสกฤต การแสดงเลขฐานสองในระบบของปิงคลาจะเพิ่มขึ้นไปทางขวา ไม่ใช่ไปทางซ้ายเหมือนในเลขฐานสองของระบบการเขียนตัวเลขแบบตำแหน่งสมัยใหม่[ 17 ]ในระบบของปิงคลา ตัวเลขเริ่มต้นจากเลขหนึ่ง ไม่ใช่ศูนย์ พยางค์สั้นสี่พยางค์ “0000” เป็นรูปแบบแรกและสอดคล้องกับค่าหนึ่ง ค่าตัวเลขได้มาจากการบวกหนึ่งเข้ากับผลรวมของค่าประจำหลัก[ 18 ]

แอฟริกาตะวันตก

Ifá เป็นระบบการทำนายดวงชะตาของแอฟริกาตะวันตกที่ได้รับความนิยมในหมู่ชนเผ่าโยรูบาแห่งอาณาจักรโอโยโบราณคล้ายกับ I Chingแต่มีสัญลักษณ์ไบนารีมากถึง 256 ตัว[ 19 ] ซึ่ง แตกต่างจากI Ching ที่ มี 64 ตัว จำนวนนี้มาจากการยกกำลังสองของ 16 ซึ่งตรงกับความเป็นไปได้ทั้งหมดในลำดับ 8 บิต ในการทำนายดวงชะตา Ifá นี้สะท้อนถึงผลลัพธ์ที่เป็นไปได้ที่เรียกว่าOdú Odú เหล่านี้ถูกกำหนดโดยใช้ โซ่ Ọpẹlẹซึ่งมีเมล็ด 8 เมล็ด แต่ละเมล็ดสามารถตกอยู่ในตำแหน่งใดตำแหน่งหนึ่งจากสองตำแหน่ง (เปิดหรือปิด) ทำให้เกิดชุดค่าผสมที่เป็นไปได้ทั้งหมด Ifá มีต้นกำเนิดในแอฟริกาตะวันตกในศตวรรษที่ 15 ในหมู่ชาวโยรูบาในปี 2008 UNESCOได้เพิ่ม Ifá ลงในรายการ " ผลงานชิ้นเอกของมรดกทางวาจาและมรดกที่จับต้องไม่ได้ของมนุษยชาติ " [ 20 ] [ 21 ]

วัฒนธรรมอื่นๆ

ผู้อยู่อาศัยบนเกาะมังกาเรวาในเฟรนช์โพลินีเซียใช้ระบบ เลข ฐาน สองและฐานสิบแบบผสมกันก่อนปี ค.ศ. 1450 [ 22 ]กลองที่มีร่องพร้อมโทนเสียงเลขฐานสองถูกใช้เพื่อเข้ารหัสข้อความทั่วแอฟริกาและเอเชีย[ 9 ] ชุดการรวมกันเลขฐานสองที่คล้ายกับอี้จิงยังถูกใช้ในระบบการทำนายแบบดั้งเดิมของแอฟริกา เช่นอิฟาเป็นต้น รวมถึงในโหราศาสตร์ตะวันตกในยุคกลางภาษาพื้นเมืองของออสเตรเลียส่วนใหญ่ใช้ระบบฐาน 2 [ 23 ]

นักปรัชญาตะวันตกผู้มาก่อนไลบ์นิซ

ในปี ค.ศ. 1605 ฟรานซิส เบคอนได้อภิปรายระบบที่สามารถลดตัวอักษรของอักษรภาษาอังกฤษให้เหลือเพียงลำดับของเลขฐานสอง ซึ่งสามารถเข้ารหัสเป็นรูปแบบตัวอักษรที่แทบมองไม่เห็นในข้อความสุ่มใดๆ ก็ได้[ 24 ]ที่สำคัญสำหรับทฤษฎีทั่วไปของการเข้ารหัสเลขฐานสอง เขาได้กล่าวเพิ่มเติมว่าวิธีนี้สามารถใช้กับวัตถุใดๆ ก็ได้ "โดยมีเงื่อนไขว่าวัตถุเหล่านั้นจะต้องมีความแตกต่างกันสองเท่าเท่านั้น เช่น ระฆัง แตร ไฟ และคบเพลิง เสียงปืนคาบศิลา และเครื่องมืออื่นๆ ที่มีลักษณะคล้ายกัน" [ 24 ]

ในปี ค.ศ. 1617 จอห์น เนเปียร์ได้อธิบายระบบที่เขาเรียกว่าเลขคณิตตำแหน่งสำหรับการคำนวณเลขฐานสองโดยใช้การแสดงแทนแบบไม่ขึ้นกับตำแหน่งด้วยตัวอักษร โทมัส แฮร์ริออตได้ตรวจสอบระบบตัวเลขแบบขึ้นกับตำแหน่งหลายระบบ รวมถึงเลขฐานสอง แต่ไม่ได้ตีพิมพ์ผลลัพธ์ของเขา ผลลัพธ์เหล่านั้นถูกค้นพบในภายหลังในเอกสารของเขา[ 25 ] การตีพิมพ์ระบบนี้ครั้งแรกในยุโรปอาจเป็นของฮวน คารามูเอล อี โลบโควิทซ์ในปี ค.ศ. 1700 [ 26 ]

ไลบ์นิซ

ก็อตต์ฟรีด ไลบ์นิซ

ไลบ์นิซเขียนต้นฉบับเกี่ยวกับเลขฐานสองมากกว่าร้อยฉบับ ซึ่งส่วนใหญ่ยังไม่ได้รับการตีพิมพ์[ 27 ]ก่อนงานเขียนชิ้นแรกของเขาในปี พ.ศ. 2322 ต้นฉบับจำนวนมากแสดงให้เห็นถึงความพยายามในช่วงแรกในการสำรวจแนวคิดเลขฐานสอง รวมถึงตารางตัวเลขและการคำนวณพื้นฐาน ซึ่งมักจะเขียนไว้ที่ขอบของงานที่ไม่เกี่ยวข้องกับคณิตศาสตร์[ 27 ]

ผลงานชิ้นแรกที่เป็นที่รู้จักของเขาเกี่ยวกับเลขฐานสองคือ“ว่าด้วยลำดับเลขฐานสอง”ในปี ค.ศ. 1679 ไลบ์นิซได้แนะนำการแปลงระหว่างเลขฐานสิบและเลขฐานสอง พร้อมด้วยอัลกอริทึมสำหรับการดำเนินการทางคณิตศาสตร์พื้นฐาน เช่น การบวก การลบ การคูณ และการหารโดยใช้เลขฐานสอง นอกจากนี้เขายังพัฒนาพีชคณิตเลขฐานสองรูปแบบหนึ่งเพื่อคำนวณกำลังสองของจำนวนหกหลักและเพื่อหาค่ารากที่สอง[ 27 ]

ผลงานที่เป็นที่รู้จักมากที่สุดของเขาปรากฏอยู่ในบทความExplication de l'Arithmétique Binaire (ตีพิมพ์ในปี 1703) ชื่อเต็มของบทความของไลบ์นิซได้รับการแปลเป็นภาษาอังกฤษว่า"คำอธิบายเกี่ยวกับเลขคณิตไบนารี ซึ่งใช้เพียงตัวอักษร 1 และ 0 พร้อมข้อสังเกตบางประการเกี่ยวกับประโยชน์ของมัน และเกี่ยวกับความกระจ่างที่มันแสดงให้เห็นเกี่ยวกับตัวเลขจีนโบราณของฟู่ซี " [ 28 ] ระบบของไลบ์นิซใช้ 0 และ 1 เช่นเดียวกับระบบเลขฐานสองในปัจจุบัน ตัวอย่างของระบบเลขฐานสองของไล บ์นิซมีดังนี้: [ 28 ]

0 0 0 1 ค่าตัวเลข 2 0
0 0 1 0 ค่าตัวเลข 2 1
0 1 0 0 ค่าตัวเลข 2 2
1 0 0 0 ค่าตัวเลข 2 3

ในระหว่างการติดต่อกับบาทหลวงเยซูอิต โยอาคิม บูเวต์ในปี ค.ศ. 1700 ซึ่งได้กลายเป็นผู้เชี่ยวชาญด้านอี้จิงในขณะที่เป็นมิชชันนารีในประเทศจีน ไลบ์นิซได้อธิบายสัญกรณ์เลขฐานสองของเขา และบูเวต์ได้แสดงให้เห็นในจดหมายของเขาในปี ค.ศ. 1701 ว่าอี้จิงเป็นการประดิษฐ์สัญกรณ์เลขฐานสองแบบคู่ขนานที่เป็นอิสระ ไลบ์นิซและบูเวต์สรุปว่าการจับคู่ดังกล่าวเป็นหลักฐานของความสำเร็จครั้งสำคัญของชาวจีนในด้านคณิตศาสตร์ เชิงปรัชญา ที่เขาชื่นชม[ 29 ]เกี่ยวกับการประดิษฐ์แบบคู่ขนานนี้ ไลบ์นิซเขียนไว้ใน "คำอธิบายเกี่ยวกับเลขคณิตเลขฐานสอง" ของเขาว่า "การคืนความหมายของสิ่งเหล่านี้หลังจากช่วงเวลาอันยาวนานเช่นนี้ จะดูน่าสนใจยิ่งขึ้น" [ 30 ]

ความสัมพันธ์ดังกล่าวเป็นแนวคิดหลักในแนวคิดสากลของเขาเกี่ยวกับภาษาหรือลักษณะเฉพาะสากล (characteristica universalis ) ซึ่งเป็นแนวคิดยอดนิยมที่ผู้สืบทอดของเขา เช่นGottlob FregeและGeorge Boole ได้ปฏิบัติตามอย่างใกล้ชิด ในการสร้าง ตรรกะเชิง สัญลักษณ์สมัยใหม่[ 31 ] ไลบ์นิซได้รู้จักกับอี้จิง เป็นครั้งแรก ผ่านการติดต่อกับนักบวชเยซูอิตชาวฝรั่งเศสJoachim Bouvetซึ่งเดินทางมาเยือนจีนในปี 1685 ในฐานะมิชชันนารี ไลบ์นิซมองว่า เฮ ซาแกรมของอี้จิงเป็นการยืนยันถึงความเป็นสากลของความเชื่อทางศาสนาของเขาในฐานะคริสเตียน[ 32 ]เลขฐานสองเป็นหัวใจสำคัญของเทววิทยาของไลบ์นิซ เขาเชื่อว่าเลขฐานสองเป็นสัญลักษณ์ของแนวคิดคริสเตียนเรื่องcreatio ex nihiloหรือการสร้างจากความว่างเปล่า[ 33 ]

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

— จดหมายของไลบ์นิซถึงดยุคแห่งบรุนสวิกที่แนบมาพร้อมกับเฮกซาแกรมของอี้จิง[ 32 ]

พัฒนาการในภายหลัง

จอร์จ บูล

ในปี พ.ศ. 2397 นักคณิตศาสตร์ชาวอังกฤษจอร์จ บูลได้ตีพิมพ์บทความสำคัญที่อธิบายรายละเอียดระบบตรรกะเชิงพีชคณิตซึ่งต่อมาเป็นที่รู้จักในชื่อพีชคณิตบูลการคำนวณเชิงตรรกะของเขากลายเป็นเครื่องมือสำคัญในการออกแบบวงจรอิเล็กทรอนิกส์ดิจิทัล[ 34 ]

ในปี พ.ศ. 2480 Claude Shannonได้ทำวิทยานิพนธ์ปริญญาโทที่MITซึ่งนำพีชคณิตบูลีนและเลขคณิตไบนารีมาใช้โดยใช้รีเลย์และสวิตช์อิเล็กทรอนิกส์เป็นครั้งแรกในประวัติศาสตร์ วิทยานิพนธ์ของ Shannon ที่มีชื่อว่า"การวิเคราะห์เชิงสัญลักษณ์ของวงจรรีเลย์และสวิตช์"ถือเป็นรากฐานสำคัญของการออกแบบวงจรดิจิทัล ในทางปฏิบัติ [ 35 ]

ในเดือนพฤศจิกายน พ.ศ. 2480 จอร์จ สติบิตซ์ซึ่งขณะนั้นทำงานอยู่ที่เบลล์แล็บส์ได้สร้างคอมพิวเตอร์แบบรีเลย์ขึ้นมา โดยตั้งชื่อว่า "โมเดล เค" (ย่อมาจาก " ครัว " ซึ่งเป็นสถานที่ที่เขาประกอบมันขึ้นมา) ซึ่งคำนวณโดยใช้การบวกเลขฐานสอง[ 36 ]เบลล์แล็บส์ได้อนุมัติโครงการวิจัยเต็มรูปแบบในช่วงปลายปี พ.ศ. 2481 โดยมีสติบิตซ์เป็นหัวหน้าโครงการ คอมพิวเตอร์จำนวนเชิงซ้อนของพวกเขา ซึ่งสร้างเสร็จเมื่อวันที่ 8 มกราคม พ.ศ. 2483 สามารถคำนวณจำนวนเชิงซ้อนได้ ในการสาธิตต่อที่ ประชุม สมาคมคณิตศาสตร์อเมริกันที่วิทยาลัยดาร์ทมัธเมื่อวันที่ 11 กันยายน พ.ศ. 2483 สติบิตซ์สามารถส่งคำสั่งระยะไกลไปยังเครื่องคำนวณจำนวนเชิงซ้อนผ่านสายโทรศัพท์โดยใช้เครื่องโทรพิมพ์ ได้ นับเป็นเครื่องคำนวณเครื่องแรกที่ใช้งานจากระยะไกลผ่านสายโทรศัพท์ ผู้เข้าร่วมการประชุมบางคนที่ได้เห็นการสาธิตนี้ ได้แก่จอห์น ฟอน นอยมันน์จอห์น มอชลีย์และนอร์เบิร์ต วีนเนอร์ซึ่งได้เขียนเกี่ยวกับเรื่องนี้ไว้ในบันทึกความทรงจำของเขา[ 37 ] [ 38 ] [ 39 ]

คอมพิวเตอร์Z1ซึ่งออกแบบและสร้างโดยKonrad Zuseระหว่างปี 1935 ถึง 1938 ใช้ตรรกะบูลีนและเลขทศลอยไบนารี[ 40 ]

การเป็นตัวแทน

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

1010011011
||||||
ynynnyynyy
ทีเอฟทีเอฟเอฟทีทีเอฟทีที
+ - + - - + + - + +
นาฬิกาไบนารีอาจใช้LEDเพื่อแสดงค่าไบนารี ในนาฬิกาเรือนนี้ แต่ละแถวของ LED จะแสดง ตัวเลขฐาน สิบที่เข้ารหัสแบบไบนารีของเวลาแบบหกสิบฐาน ดั้งเดิม

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

ตามธรรมเนียมการแสดงตัวเลขโดยใช้ตัวเลขอาหรับตัวเลขไบนารีมักเขียนโดยใช้สัญลักษณ์0และ1เมื่อเขียนตัวเลขไบนารี มักจะมีตัวห้อย คำนำหน้า หรือคำต่อท้ายเพื่อระบุฐานหรือราก ของตัวเลข นั้น สัญลักษณ์ต่อไปนี้มีความหมายเหมือนกัน:

  • 100101 ไบนารี (ระบุรูปแบบอย่างชัดเจน)
  • 100101b (คำต่อท้ายที่ระบุรูปแบบไบนารี หรือที่รู้จักกันในชื่อIntel convention [ 42 ] [ 43 ] )
  • 100101B (ส่วนต่อท้ายที่ระบุรูปแบบไบนารี)
  • bin 100101 (คำนำหน้าแสดงรูปแบบไบนารี)
  • 100101 2 (ตัวห้อยแสดงถึงระบบเลขฐาน 2)
  • %100101 (คำนำหน้าที่ระบุรูปแบบไบนารี หรือที่รู้จักกันในชื่อธรรมเนียมของ Motorola [ 42 ] [ 43 ] )
  • 0b100101 (คำนำหน้าแสดงรูปแบบไบนารี ซึ่งพบได้ทั่วไปในภาษาโปรแกรม)
  • 6b100101 (คำนำหน้าแสดงจำนวนบิตในรูปแบบไบนารี ซึ่งพบได้ทั่วไปในภาษาโปรแกรม)
  • #b100101 (คำนำหน้าแสดงรูปแบบไบนารี ซึ่งพบได้ทั่วไปในภาษาโปรแกรม Lisp)

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

การนับในระบบเลขฐานสอง

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

การนับแบบทศนิยม

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

000, 001, 002, ... 007, 008, 009 (ตัวเลขหลักขวาสุดจะถูกรีเซ็ตเป็นศูนย์ และตัวเลขทางซ้ายมือจะถูกเพิ่มขึ้น)
0 1 0, 011, 012, ...
   ...
090, 091, 092, ... 097, 098, 099 (ตัวเลขสองหลักขวาสุดจะถูกรีเซ็ตเป็นศูนย์ และตัวเลขหลักถัดไปจะเพิ่มขึ้น)
1 00, 101, 102, ...

การนับเลขฐานสอง

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

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

0000,
000 1 , (บิตขวาสุดเริ่มต้นใหม่ และบิตถัดไปจะเพิ่มขึ้น)
00 1 0, 0011, (บิตสองบิตขวาสุดเริ่มต้นใหม่ และบิตถัดไปจะเพิ่มขึ้น)
0 1 00, 0101, 0110, 0111 (สามบิตขวาสุดเริ่มต้นใหม่ และบิตถัดไปจะเพิ่มขึ้น)
1 000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 ...

ในระบบเลขฐานสอง บิตแต่ละบิตแทนค่ากำลังของ 2 ที่เพิ่มขึ้นเรื่อยๆ โดยบิตขวาสุดแทน 2₀ บิตถัดไปแทน 2¹ จากนั้น 2² และต่อไปเรื่อยๆ ค่าของเลขฐานสองคือผลรวมของกำลังของ 2 ที่แสดงโดยบิต "1" แต่ละบิต ตัวอย่างเช่น เลขฐานสอง 100101 แปลงเป็นเลขฐานสิบได้ดังนี้:

100101 2 = [ ( 1 ) × 2 5 ] + [ ( 0 ) × 2 4 ] + [ ( 0 ) × 2 3 ] + [ ( 1 ) × 2 2 ] + [ ( 0 ) × 2 1 ] + [ ( 1 ) × 2 0 ]
100101 2 = [ 1 × 32 ] + [ 0 × 16 ] + [ 0 × 8 ] + [ 1 × 4 ] + [ 0 × 2 ] + [ 1 × 1 ]
100101 2 = 37 10

เลขคณิตไบนารี

การคำนวณเลขฐานสองคล้ายคลึงกับการคำนวณเลขในระบบตัวเลข อื่นๆ ที่ใช้การเขียนตำแหน่งสามารถทำการบวก ลบ คูณ และหารตัวเลขฐานสองได้

ส่วนที่เพิ่มเข้าไป

แผนภาพวงจรของตัวบวกเลขฐานสองแบบครึ่งตัว (binary half adder ) ซึ่งบวกเลขสองบิตเข้าด้วยกัน ทำให้ได้ผลรวมและผลทด

การดำเนินการทางคณิตศาสตร์ที่ง่ายที่สุดในระบบเลขฐานสองคือการบวก การบวกเลขฐานสองหลักเดียวสองจำนวนนั้นค่อนข้างง่าย โดยใช้รูปแบบการทด:

0 + 0 → 0
0 + 1 → 1
1 + 0 → 1
1 + 1 → 0, ทด 1 (เนื่องจาก 1 + 1 = 2 = 0 + (1 × 2 1 ) )

การบวกเลข "1" สองตัวจะได้เลข "0" ในขณะที่ต้องบวกเลข 1 เข้าไปในหลักถัดไป นี่คล้ายกับสิ่งที่เกิดขึ้นในระบบเลขฐานสิบเมื่อบวกเลขหลักเดียวบางตัวเข้าด้วยกัน หากผลลัพธ์เท่ากับหรือมากกว่าค่าฐาน (10) ตัวเลขทางซ้ายจะเพิ่มขึ้นหนึ่ง

5 + 5 → 0, ทด 1 (เนื่องจาก 5 + 5 = 10 = 0 + (1 × 10 1 ) )
7 + 9 → 6 ทด 1 (เนื่องจาก 7 + 9 = 16 = 6 + (1 × 10 1 ) )

นี่เรียกว่าการทด (carrying ) เมื่อผลลัพธ์ของการบวกเกินค่าของหลักใดหลักหนึ่ง ขั้นตอนคือการ "ทด" ส่วนเกินที่หารด้วยฐาน (เช่น 10/10) ไปทางซ้าย แล้วบวกกับค่าในตำแหน่งถัดไป ซึ่งถูกต้องเพราะตำแหน่งถัดไปมีน้ำหนักที่สูงกว่าด้วยตัวคูณที่เท่ากับฐาน การทดในระบบเลขฐานสองทำงานในลักษณะเดียวกัน:

1 1 1 1 1 (เลขทด) 0 1 1 0 1 + 1 0 1 1 1 ------------- = 1 0 0 1 0 0 = 36 

ในตัวอย่างนี้ ตัวเลขสองตัวถูกบวกเข้าด้วยกัน: 01101 2 (13 10 ) และ 10111 2 (23 10 ) แถวบนสุดแสดงบิตตัวทดที่ใช้ เริ่มจากคอลัมน์ขวาสุด 1 + 1 = 10 2เลข 1 ถูกทดไปทางซ้าย และเลข 0 ถูกเขียนไว้ที่ด้านล่างของคอลัมน์ขวาสุด คอลัมน์ที่สองจากขวาถูกบวก: 1 + 0 + 1 = 10 2อีกครั้ง เลข 1 ถูกทด และเลข 0 ถูกเขียนไว้ด้านล่าง คอลัมน์ที่สาม: 1 + 1 + 1 = 11 2คราวนี้ เลข 1 ถูกทด และเลข 1 ถูกเขียนไว้ในแถวล่างสุด ทำเช่นนี้ไปเรื่อยๆ จนได้คำตอบสุดท้าย 100100 2 (36 10 )

เมื่อคอมพิวเตอร์ต้องบวกตัวเลขสองตัว กฎที่ว่า x xor y = (x + y) mod 2 สำหรับบิต x และ y ใดๆ ก็ตาม จะช่วยให้การคำนวณรวดเร็วมากเช่นกัน

วิธีการพกพาระยะยาว

วิธีการลดความซับซ้อนสำหรับปัญหาการบวกเลขฐานสองหลายๆ ปัญหาคือ "วิธีทดเลขยาว" หรือ "วิธีบวกเลขฐานสองแบบบรูคเฮาส์" วิธีนี้มีประโยชน์อย่างยิ่งเมื่อตัวเลขตัวใดตัวหนึ่งมีเลข1 เรียงกันยาว วิธีนี้อิงตามหลักการง่ายๆ ที่ว่า ในระบบเลขฐานสอง เมื่อมีตัวเลขเรียงกันเป็นช่วงยาวที่ประกอบด้วยเลข 1 จำนวน n ตัว (โดยที่nเป็นจำนวนเต็มใดๆ) การบวก 1 จะได้เลข 1 ตามด้วยเลข 0 จำนวน nตัว แนวคิดนี้เป็นไปตามหลักตรรกะเช่นเดียวกับในระบบเลขฐานสิบ ที่การบวก 1 กับตัวเลข 9 จำนวน nตัว จะได้เลข 1 ตามด้วยเลข0 จำนวน n ตัว

 เลขฐานสอง เลขฐานสิบ 1 1 1 1 1 เช่นเดียวกัน 9 9 9 9 9 + 1 + 1 ——————————— ——————————— 1 0 0 0 0 0 1 0 0 0 0 0 

สตริงยาวๆ แบบนี้พบได้ทั่วไปในระบบเลขฐานสอง จากนั้นจะพบว่าสามารถบวกเลขฐานสองขนาดใหญ่ได้โดยใช้สองขั้นตอนง่ายๆ โดยไม่ต้องมีการทดเลขมากเกินไป ในตัวอย่างต่อไปนี้ เลขสองตัวถูกบวกเข้าด้วยกัน: 1 1 1 0 1 1 1 1 1 0 2 (958 10 ) และ 1 0 1 0 1 1 0 0 1 1 2 (691 10 ) โดยใช้วิธีการทดเลขแบบดั้งเดิมทางด้านซ้าย และวิธีการทดเลขแบบยาวทางด้านขวา:

วิธีการพกพาแบบดั้งเดิม วิธีการพกพาแบบยาว เทียบกับ 1 1 1 1 1 1 1 1 (ตัวเลขทด) 1 ← 1 ← ทดเลข 1 ไปเรื่อยๆ จนกว่าจะเป็นตัวเลขที่เกินจาก "สตริง" ด้านล่างไปหนึ่งหลัก 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 ขีดฆ่า "สตริง" + 1 0 1 0 1 1 0 0 1 1 + 1 0 1 0 1 1 0 0 1 1 แล้วขีดฆ่าตัวเลขที่บวกเข้าไป —————————————————————— —————————————————————— = 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 

แถวบนสุดแสดงบิตการทดที่ใช้ แทนที่จะทดแบบมาตรฐานจากคอลัมน์หนึ่งไปยังอีกคอลัมน์หนึ่ง เราอาจบวก "1" ที่มีลำดับต่ำที่สุดกับ "1" ในตำแหน่งค่าประจำหลักที่สอดคล้องกันด้านล่าง และอาจทด "1" ไปยังหลักถัดจากจุดสิ้นสุดของอนุกรม ตัวเลขที่ "ใช้" ไปแล้วจะต้องถูกขีดฆ่าออก เนื่องจากได้ถูกบวกไปแล้ว สตริงยาวอื่นๆ ก็สามารถตัดทิ้งได้โดยใช้เทคนิคเดียวกัน จากนั้นก็บวกตัวเลขที่เหลืออยู่ตามปกติ การดำเนินการในลักษณะนี้จะให้คำตอบสุดท้ายคือ 1 1 0 0 1 1 1 0 0 0 1 2 (1649 10 ) ในตัวอย่างง่ายๆ ของเราที่ใช้ตัวเลขขนาดเล็ก วิธีการทดแบบดั้งเดิมต้องใช้การดำเนินการทดแปดครั้ง แต่วิธีการทดแบบยาวใช้เพียงสองครั้ง ซึ่งแสดงถึงการลดความพยายามลงอย่างมาก

ตารางการบวก

0 1
0 0 1
1 1 10

ตารางการบวกเลขฐานสองคล้ายคลึงกับ แต่ไม่เหมือนกับตารางความจริงของการดำเนินการทางตรรกะแบบ "หรือ"ความแตกต่างคือในขณะที่

การลบ

การลบก็ใช้หลักการเดียวกัน:

0 − 0 → 0
0 − 1 → 1, ยืม 1
1 − 0 → 1
1 − 1 → 0

การลบเลข "1" ออกจากเลข "0" จะได้เลข "1" แต่จะต้องลบเลข 1 ออกจากหลักถัดไป กระบวนการนี้เรียกว่าการยืมหลักการก็เหมือนกับการทด เมื่อผลลัพธ์ของการลบน้อยกว่า 0 ซึ่งเป็นค่าต่ำสุดที่เป็นไปได้ของตัวเลข วิธีการคือ "ยืม" ค่าที่ขาดไปหารด้วยฐาน (เช่น 10/10) จากทางซ้าย แล้วลบออกจากค่าในตำแหน่งถัดไป

 * * * * (คอลัมน์ที่มีเครื่องหมายดอกจันเป็นคอลัมน์ที่คัดลอกมาจาก) 1 1 0 1 1 1 0 − 1 0 1 1 1 ---------------- = 1 0 1 0 1 1 1 
 * (คอลัมน์ที่มีเครื่องหมายดอกจันเป็นคอลัมน์ที่คัดลอกมาจาก) 1 0 1 1 1 1 1 – 1 0 1 0 1 1 ---------------- = 0 1 1 0 1 0 0 

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

A − B = A + ไม่ใช่ B + 1

การคูณ

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

เนื่องจากเลขฐานสองมีเพียงสองหลัก ดังนั้นผลลัพธ์ของการคูณย่อยแต่ละครั้งจึงมีได้เพียงสองแบบเท่านั้น:

  • ถ้าตัวเลขในBเป็น 0 ผลคูณย่อยก็จะเป็น 0 ด้วย
  • ถ้าตัวเลขในBคือ 1 ผลคูณย่อยจะเท่ากับA

ตัวอย่างเช่น เลขฐานสอง 1011 และ 1010 จะคูณกันดังนี้:

 1 0 1 1 ( A ) × 1 0 1 0 ( B ) --------- 0 0 0 0 ← ไปยังเลข 'ศูนย์' ตัวขวาสุดในB + 1 0 1 1 ← ไปยังเลข 'หนึ่ง' ตัวถัดไปในB + 0 0 0 0 + 1 0 1 1 --------------- = 1 1 0 1 1 1 0 

เลขฐานสองสามารถคูณด้วยบิตหลังจุดทศนิยม ได้เช่นกัน :

 1 0 1 . 1 0 1 A (5.625 ในระบบเลขฐานสิบ) × 1 1 0 . 0 1 B (6.25 ในระบบเลขฐานสิบ) ------------------- 1 . 0 1 1 0 1 ← เป็น 'หนึ่ง' ในB + 0 0 . 0 0 0 0 ← เป็น 'ศูนย์' ในB + 0 0 0 . 0 0 0 + 1 0 1 1 . 0 1 + 1 0 1 1 0 . 1 --------------------------- = 1 0 0 0 1 1 . 0 0 1 0 1 (35.15625 ในระบบเลขฐานสิบ) 

ดูเพิ่มเติมที่ อั ลก อริทึมการคูณของบูธ

ตารางการคูณ

0 1
0 0 0
1 0 1

ตารางการคูณเลขฐานสองนั้นเหมือนกับตารางค่าความจริงของการดำเนินการทางตรรกะแบบคอนจูเกชัน

แผนก

การหารยาวในระบบเลขฐานสองก็คล้ายคลึงกับการหารยาวในระบบเลขฐานสิบอีกเช่นกัน

ในตัวอย่างด้านล่างตัวหารคือ 101/2 หรือ 5 ในระบบเลขฐานสิบ ในขณะที่ตัวตั้งหารคือ 11011/2 หรือ 27 ในระบบเลขฐานสิบ ขั้นตอนการคำนวณเหมือนกับการหารยาว ในระบบเลขฐานสิบ กล่าวคือ ตัวหาร 101/2 หารตัวเลขสามหลักแรก 110/2 ของตัวตั้งหารได้หนึ่งครั้ง ดังนั้นจึงเขียน "1" ไว้ที่บรรทัดบนสุด จากนั้นนำผลลัพธ์ที่ได้มาคูณกับตัวหาร และลบออกจากตัวเลขสามหลักแรกของตัวตั้งหาร โดยนำตัวเลขหลักถัดไป ("1") มาบวกเพิ่มเพื่อให้ได้ลำดับตัวเลขสามหลักใหม่

 1 ___________ 1 0 1 ) 1 1 0 1 1 − 1 0 1 ----- 0 0 1 

จากนั้นจึงทำซ้ำขั้นตอนดังกล่าวด้วยลำดับใหม่ ไปเรื่อยๆ จนกว่าตัวเลขในตัวตั้งหารจะหมดลง:

 1 0 1 ___________ 1 0 1 ) 1 1 0 1 1 − 1 0 1 ----- 1 1 1 − 1 0 1 ----- 0 1 0 

ดังนั้นผลหารของ 11011 2หารด้วย 101 2คือ 101 2ดังแสดงในบรรทัดบนสุด ในขณะที่เศษเหลือซึ่งแสดงในบรรทัดล่างสุดคือ 10 2ในระบบเลขฐานสิบ จะสอดคล้องกับข้อเท็จจริงที่ว่า 27 หารด้วย 5 เท่ากับ 5 โดยมีเศษเหลือ 2

นอกจากการหารยาวแล้ว เรายังสามารถคิดค้นวิธีการเพื่อให้สามารถลบส่วนเกินออกจากเศษเหลือในแต่ละรอบได้ ซึ่งจะนำไปสู่วิธีการทางเลือกอื่นๆ ที่ไม่เป็นระบบมากนัก แต่มีความยืดหยุ่นมากกว่า

รากที่สอง

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

 1 1 1 1 1 0 1 1 0 1 ------------- ------------- ------------- ------------- ------------- √ 10 10 10 01 √ 10 10 10 01 √ 10 10 10 01 √ 10 10 10 01 √ 10 10 10 01 - 1 - 1 - 1 - 1 คำตอบจนถึงตอนนี้คือ 0, ---- ---- ---- ---- ต่อท้ายด้วย 01 จะได้เป็น 001, 1 10 1 10 1 10 1 10 สามารถลบได้ - 1 01 - 1 01 - 1 01 จากคู่แรกที่ 10 คำตอบที่ได้จนถึงตอนนี้คือ 1 ------- ------- ------- ดังนั้น ตัวเลขหลักแรกของการต่อท้ายด้วย 01 คือ 101, 1 10 1 10 01 1 10 01 คำตอบคือ 1. สามารถลบได้ - 1 10 01 จากเศษเหลือ 110 ดังนั้นคำตอบที่ได้จนถึงตอนนี้คือ 11 คำตอบที่ได้จนถึงตอนนี้คือ 110 ---------- ตัวเลขคำตอบถัดไปคือ 1 ขยายด้วย 01 คือ 1101 ขยายด้วย 01 คือ 11001 0 นี่มันใหญ่เกินไปที่จะลบออกได้ ลบออกจากเศษที่เหลือจากเศษที่เหลือ 11001 เสร็จแล้ว! 110 ดังนั้นตัวเลขหลักถัดไปของคำตอบคือ 1 คำตอบคือ 0 

เศษส่วน

ในเลขคณิตฐานสอง การกระจายเลขฐานสองของเศษส่วนจะสิ้นสุดก็ต่อเมื่อตัวส่วนเป็นกำลังของ 2เท่านั้น ดังนั้น 1/10 จึงไม่มีการแสดงผลเลขฐานสองที่จำกัด (10 มีตัวประกอบเฉพาะคือ 2 และ 5) นี่ทำให้ 10 × 1/10 ไม่เท่ากับ 1 อย่างแม่นยำในเลขคณิตเลขฐานสองแบบจุดลอยตัวตัวอย่างเช่น การกระจายเลขฐานสองของ 1/3 คือ 0.010101... ซึ่งหมายความว่า

ไม่สามารถหาค่าที่แน่นอนได้จากผลรวมของกำลังผกผันของสองจำนวนจำกัด เนื่องจากเลขศูนย์และหนึ่งในการแสดงเลขฐานสองของ 1/3 จะสลับกันไปตลอดกาล

เศษส่วน ทศนิยมไบนารี การประมาณค่าเศษส่วน
1/1 1  หรือ 0.999... 1  หรือ 0.11/2 + 1/4 + 1/8...
1/2 0.5  หรือ 0.4999... 0.1  หรือ 0.0 11/4 + 1/8 + 1/16 ...
1/3 0.333... 0.011/4 + 1/16 + 1/64 ...
1/4 0.25  หรือ 0.24999... 0.01  หรือ 0.00 11/8 + 1/16 + 1/32 ...
1/5 0.2  หรือ 0.1999... 0.00111/8 + 1/16 + 1/128 ...
1/6 0.1666... 0.0 011/8 + 1/32 + 1/128 ...
1/7 0.142857142857... 0.0011/8 + 1/64 + 1/512 ...
1/8 0.125  หรือ 0.124999... 0.001  หรือ 0.000 11/16 + 1/32 + 1/64 ...
1/9 0.111... 0.0001111/16 + 1/32 + 1/64 ...
1/10 0.1  หรือ 0.0999... 0.0 00111/16 + 1/32 + 1/256 ...
1/11 0.090909... 0. 00010111011/16 + 1/64 + 1/128 ...
1/12 0.08333... 0.00 011/16 + 1/64 + 1/256 ...
1/13 0.076923076923... 0. 0001001110111/16 + 1/128 + 1/256 ...
1/14 0.0714285714285... 0.0 0011/16 + 1/128 + 1/1024 ...
1/15 0.0666... 0.00011/16 + 1/256 ...
1/16 0.0625  หรือ 0.0624999... 0.0001  หรือ 0.0000 11/32 + 1/64 + 1/128 ...

การดำเนินการบิต

แม้ว่าจะไม่เกี่ยวข้องโดยตรงกับการตีความเชิงตัวเลขของสัญลักษณ์ไบนารี แต่ลำดับของบิตสามารถจัดการได้โดยใช้ตัวดำเนินการตรรกะบูลีนเมื่อสตริงของสัญลักษณ์ไบนารีถูกจัดการในลักษณะนี้ จะเรียกว่าการดำเนินการแบบบิต ตัวดำเนินการตรรกะAND , ORและXORสามารถดำเนินการกับบิตที่สอดคล้องกันในตัวเลขไบนารีสองตัวที่ป้อนเข้ามาได้ การดำเนินการตรรกะNOTสามารถดำเนินการกับบิตแต่ละตัวในตัวเลขไบนารีตัวเดียวที่ป้อนเข้ามาได้ บางครั้ง การดำเนินการดังกล่าวอาจใช้เป็นทางลัดทางคณิตศาสตร์ และอาจมีประโยชน์ในการคำนวณอื่นๆ ด้วย ตัวอย่างเช่นการเลื่อนบิตไปทางซ้ายของเลขไบนารีเทียบเท่ากับการคูณด้วยกำลังของ 2 (ที่เป็นบวกและจำนวนเต็ม)

การแปลงระหว่างระบบตัวเลขอื่นๆ

แปลงเลขฐานสิบเป็นเลขฐานสอง

การแปลง (357) 10เป็นสัญกรณ์ไบนารีจะได้ผลลัพธ์เป็น (101100101)

ในการแปลงจาก จำนวนเต็มฐาน 10 เป็นจำนวนเต็มฐาน 2 (ไบนารี) ที่เทียบเท่ากัน ตัวเลขนั้นจะถูกหารด้วยสอง เศษ ที่เหลือจะเป็นบิตที่มีค่าน้อยที่สุดผลหารจะถูกหารด้วยสองอีกครั้ง เศษที่เหลือจะกลายเป็นบิตที่มีค่าน้อยที่สุดถัดไป กระบวนการนี้จะทำซ้ำจนกว่าจะได้ผลหารเป็นหนึ่ง ลำดับของเศษที่เหลือ (รวมถึงผลหารสุดท้ายที่เป็นหนึ่ง) จะประกอบเป็นค่าไบนารี เนื่องจากเศษที่เหลือแต่ละค่าจะต้องเป็นศูนย์หรือหนึ่งเมื่อหารด้วยสอง ตัวอย่างเช่น (357) 10จะแสดงเป็น (101100101) 2 [ 44 ]

แปลงเลขฐานสองเป็นเลขฐานสิบ

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

มูลค่าก่อนหน้า × 2 + ส่วนถัดไป = ค่าถัดไป
0× 2 +1= 1
1× 2 +0= 2
2× 2 +0= 4
4× 2 +1= 9
9× 2 +0= 18
18× 2 +1= 37
37× 2 +0= 74
74× 2 +1= 149
149× 2 +1= 299
299× 2 +0= 598
598× 2 +1= 1197

ผลลัพธ์คือ 1197 10ค่าก่อนหน้าค่าแรกคือ 0 ซึ่งเป็นค่าทศนิยมเริ่มต้น วิธีการนี้เป็นการประยุกต์ใช้แผนการ ของ Horner

ไบนารี  10010101101
ทศนิยม  1×2 10 +0×2 9 +0×2 8 +1×2 7 +0×2 6 +1×2 5 +0×2 4 +1×2 3 +1×2 2 +0×2 1 +1×2 0 =1197

ส่วนที่เป็นเศษส่วนของจำนวนจะถูกแปลงด้วยวิธีการที่คล้ายคลึงกัน โดยอาศัยหลักการเทียบเท่าของการเลื่อนบิตกับการคูณสองหรือการหารครึ่ง

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

ตัวอย่างเช่นในระบบเลขฐานสอง จะเขียนได้ดังนี้:

การแปลงผลลัพธ์
0.
0.0
0.01
0.010
0.0101

ดังนั้น เศษส่วนทศนิยมซ้ำ0.3 ... จึงเทียบเท่ากับเศษส่วนฐานสองซ้ำ0.01 ...

หรือตัวอย่างเช่น 0.1 10ในระบบเลขฐานสองคือ:

การแปลงผลลัพธ์
0.10.
0.1 × 2 = 0.2 < 10.0
0.2 × 2 = 0.4 < 10.00
0.4 × 2 = 0.8 < 10.000
0.8 × 2 = 1.6 ≥ 10.0001
0.6 × 2 = 1.2 ≥ 10.00011
0.2 × 2 = 0.4 < 10.000110
0.4 × 2 = 0.8 < 10.0001100
0.8 × 2 = 1.6 ≥ 10.00011001
0.6 × 2 = 1.2 ≥ 10.000110011
0.2 × 2 = 0.4 < 10.0001100110

นี่ก็เป็นเศษส่วนไบนารีที่ซ้ำกันเช่นกัน 0.0 0011 ... อาจเป็นเรื่องน่าประหลาดใจที่เศษส่วนทศนิยมที่สิ้นสุดสามารถมีการขยายซ้ำกันในไบนารีได้ ด้วยเหตุนี้เองที่หลายคนจึงประหลาดใจเมื่อพบว่า 1/10 + ... + 1/10 (การบวกตัวเลข 10 ตัว) แตกต่างจาก 1 ในเลขคณิตจุดลอยตัว ไบนารี อันที่จริง เศษส่วนไบนารีที่มีการขยายสิ้นสุดมีเพียงรูปแบบจำนวนเต็มหารด้วยกำลังของ 2 เท่านั้น ซึ่ง 1/10 ไม่ใช่

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

อีกวิธีหนึ่งในการแปลงจากเลขฐานสองเป็นเลขฐานสิบ ซึ่งมักจะเร็วกว่าสำหรับผู้ที่คุ้นเคยกับเลขฐานสิบหกคือการแปลงโดยอ้อม กล่าวคือ แปลงเลขฐานสอง (ในเลขฐานสอง) เป็นเลขฐานสิบหก ( ในเลขฐานสิบหก) ก่อน แล้วจึงแปลงเลขฐานสิบหก ( ในเลขฐานสิบหก) เป็นเลขฐานสิบ ( ในเลขฐานสิบ)

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

เลขฐานสิบหก

0 เลขฐานสิบหก=0 ธ.ค.=0 ต.ค.0000
1 หกเหลี่ยม=1 ธ.ค.=1 ต.ค.0001
2 หกเหลี่ยม=2 ธ.ค.=2 ต.ค.0010
3 หกเหลี่ยม=3 ธ.ค.=3 ต.ค.0011
4 หกเหลี่ยม=4 ธ.ค.=4 ต.ค.0100
5 หกเหลี่ยม=5 ธ.ค.=5 ต.ค.0101
6 หกเหลี่ยม=6 ธ.ค.=6 ต.ค.0110
7 หกเหลี่ยม=7 ธ.ค.=7 ต.ค.0111
8 หกเหลี่ยม=8 ธ.ค.=10 ต.ค.1000
9 หกเหลี่ยม=9 ธ.ค.=11 ต.ค.1001
หกเหลี่ยม=10 ธ.ค.=12 ต.ค.1010
บีเฮกซ์=11 ธ.ค.=13 ต.ค.1011
ซีเชกซ์=12 ธ.ค.=14 ต.ค.1100
ดีเฮกซ์=13 ธ.ค.=15 ต.ค.1101
อีเฮกซ์=14 ธ.ค.=16 ต.ค.1110
เอฟหกเหลี่ยม=15 ธ.ค.=17 ต.ค.1111

การแปลงเลขฐานสองไปและกลับจากเลขฐานสิบหกอาจทำได้ง่ายกว่า เนื่องจากฐานของระบบเลขฐานสิบหก (16) เป็นกำลังของฐานของระบบเลขฐานสอง (2) โดยเฉพาะอย่างยิ่ง 16 = 2⁴ ดังนั้นจึงต้องใช้เลขฐานสองสี่หลักเพื่อแสดงเลขฐานสิบหกหนึ่งหลัก ดังแสดงในตารางด้านข้าง

ในการแปลงเลขฐานสิบหกให้เป็นเลขฐานสอง เพียงแค่แทนที่ด้วยตัวเลขฐานสองที่ตรงกัน:

3A 16 = 0011 1010 2
E7 16 = 1110 0111 2

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

1010010 2 = 0101 0010 จัดกลุ่มด้วย padding = 52 16
11011101 2 = 1101 1101 จัดกลุ่ม = DD 16

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

C0E7 16 = (12 × 16 3 ) + (0 × 16 2 ) + (14 × 16 1 ) + (7 × 16 0 ) = (12 × 4096) + (0 × 256) + (14 × 16) + (7 × 1) = 49,383 10

แปด

เลขฐานสองสามารถแปลงเป็น ระบบเลข ฐานแปด ได้ง่ายเช่นกัน เนื่องจากเลขฐานแปดใช้ฐาน 8 ซึ่งเป็นกำลังของสอง (กล่าวคือ 2³ ดังนั้นจึงใช้เลขฐานสองเพียงสามหลักในการแทนเลขฐานแปดหนึ่งหลัก) ความสัมพันธ์ระหว่างเลขฐานแปดและเลขฐานสองนั้นเหมือนกับความสัมพันธ์ระหว่างเลขฐานแปดแปดหลักแรกในตารางด้านบน เลขฐานสอง 000 เทียบเท่ากับเลขฐานแปด 0 เลขฐานสอง 111 เทียบเท่ากับเลขฐานแปด 7 และอื่นๆ

แปดไบนารี
0000
1001
2010
3011
4100
5101
6110
7111

การแปลงจากเลขฐานแปดเป็นเลขฐานสองจะดำเนินการในลักษณะเดียวกับการแปลงจากเลขฐานสิบหก :

65 8 = 110 101 2
17 8 = 001 111 2

และจากการแปลงเลขฐานสองเป็นเลขฐานแปด:

101100 2 = 101 100 2จัดกลุ่ม = 54 8
10011 2 = 010 011 2จัดกลุ่มด้วย padding = 23 8

และจากการแปลงเลขฐานแปดเป็นเลขฐานสิบ:

65 8 = (6 × 8 1 ) + (5 × 8 0 ) = (6 × 8) + (5 × 1) = 53 10
127 8 = (1 × 8 2 ) + (2 × 8 1 ) + (7 × 8 0 ) = (1 × 64) + (2 × 8) + (7 × 1) = 87 10

การแสดงจำนวนจริง

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

1 × 2 1(1 × 2 = 2 )บวก
1 × 2 0(1 × 1 = 1 )บวก
0 × 2 −1(0 × 12 = 0 )บวก
1 × 2 −2(1 × 14 = 0.25 )

รวมเป็นเงิน 3.25 ในระบบเลขฐานสิบ

จำนวนตรรกยะแบบทวิภาค ทั้งหมดมี เลขฐานสอง ที่สิ้นสุด กล่าวคือ การแสดงผลในรูปเลขฐานสองจะมีจำนวนพจน์ที่จำกัดหลังจุดทศนิยม ส่วนจำนวนตรรกยะ อื่นๆ ก็มีการแสดงผลในรูปเลขฐานสองเช่นกัน แต่แทนที่จะสิ้นสุด การแสดงผลจะเป็นแบบเวียนเกิดโดยมีลำดับของตัวเลขที่จำกัดและซ้ำกันไปเรื่อยๆ ตัวอย่างเช่น 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 10, 11, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 19, 10, 11, 10, 11, 12, 13, 14, 15, 16, 16, 17, 18 ...

ปรากฏการณ์ที่การแสดงเลขฐานสองของจำนวนตรรกยะใดๆ จะเป็นแบบสิ้นสุดหรือแบบเวียนเกิดนั้น เกิดขึ้นในระบบตัวเลขฐานอื่นๆ ด้วยเช่นกัน ดูตัวอย่างเช่น คำอธิบายในระบบเลขฐานสิบอีกความคล้ายคลึงกันคือ การมีอยู่ของการแสดงแบบอื่นสำหรับการแสดงแบบสิ้นสุดใดๆ โดยอาศัยข้อเท็จจริงที่ว่า0.111111...คือผลรวมของอนุกรมเรขาคณิต 2 −1 + 2 −2 + 2 −3 + ... ซึ่งก็คือ 1

เลขฐานสองที่ไม่สิ้นสุดและไม่เกิดการวนซ้ำ แสดงถึงจำนวนอตรรกยะตัวอย่างเช่น

  • 0.10100100010000100000100... มีรูปแบบอยู่ แต่ไม่ใช่รูปแบบที่เกิดขึ้นซ้ำๆ ที่มีความยาวคงที่ ดังนั้นจำนวนนี้จึงเป็นจำนวนอตรรกยะ
  • 1.0110101000001001111001100110011111110... คือการแสดงเลขฐานสองของ 2 ซึ่ง เป็น รากที่สองของ 2ซึ่งเป็นจำนวนอตรรกยะอีกจำนวนหนึ่ง มันไม่มีรูปแบบที่สังเกตได้ชัดเจน

ดูเพิ่มเติม

แหล่งที่มา

  • แลนดรี, ทิโมธี อาร์. (2019). โวดุน: ความลับและการแสวงหาพลังศักดิ์สิทธิ์มานุษยวิทยาเชิงร่วมสมัย (ฉบับพิมพ์ครั้งที่ 1). ฟิลาเดลเฟีย: สำนักพิมพ์มหาวิทยาลัยเพนซิลเวเนีย. ISBN 978-0-8122-5074-9.
  • ระบบไบนารีที่cut-the-knot
  • การแปลงเศษส่วนที่cut-the-knot
  • ระบบการเข้ารหัสแบบ BiLiteral Cypher ของเซอร์ฟรานซิส เบคอนซึ่งถูกเก็บถาวรไว้เมื่อวันที่ 23 กันยายน 2016 ในWayback Machineนั้น มีมาก่อนระบบเลขฐานสอง
  • การวิเคราะห์ระบบเลขฐานสองในฐานะฐานที่มีประสิทธิภาพ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Binary_number&oldid=1360619243 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เลขฐานสอง

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

ประวัติศาสตร์

ระบบเลขฐานสองสมัยใหม่ได้รับการศึกษาครั้งแรกในยุโรปในช่วงศตวรรษที่ 16 และ 17 โดย โทมัส แฮร์ริออต และอีกหลายทศวรรษต่อมาโดย ก็อตต์ฟรีด ไลบ์นิซ ซึ่งได้รับการยกย่องว่าเป็นผู้คิดค้น [ 2 ] อย่างไรก็ตาม...

อียิปต์

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

จีน

คัมภีร์ อี้จิง มีมาตั้งแต่ศตวรรษที่ 9 ก่อนคริสต์ศักราชในประเทศจีน [ 7 ] การใช้สัญลักษณ์ไบนารีในคัมภีร์ อี้จิง นั้นใช้เพื่อตีความเทคนิคการ ทำนาย แบบค วอเทอร์นารี [ 8 ]