DOUG LLYOYD: ดังนั้นตัวเลขฐานสิบหก เช่นถ้าเราต้องการอีกจำนวนฐาน โครงการที่ถูกต้อง? ดีที่สุดวัฒนธรรมตะวันตก ในขณะที่คุณอาจจะคุ้นเคย ใช้ฐาน system-- ทศนิยม 10 เพื่อเป็นตัวแทนของข้อมูลที่เป็นตัวเลข เรามีตัวเลข 0, 1, 2, 3, 5, 6, 7,8,9 และถ้าเราต้องการที่จะเป็นตัวแทน ค่าสูงกว่าเก้า เราสามารถรวมตัวเลขเหล่านั้น ใช้ความคิดของค่าสถานที่ ดังนั้นสำหรับ 10 เรามี 1 หลักตามด้วย 0 หลัก และเราเข้าใจอย่างสังหรณ์ใจ ว่าสิ่งที่เรากำลังทำ มีเรากำลังคูณ ครั้งแรกที่ 1 จาก 10 แล้วเพิ่ม 0 รวม 10 คอมพิวเตอร์ทำอะไรบางอย่างสวย ที่คล้ายกันในขณะที่คุณอาจจะคุ้นเคย กับฐาน system-- ไบนารี 2 ความแตกต่างที่มีอยู่ ว่ามีเพียง 2 หลัก การทำงาน with-- 0 และ 1 และเพื่อให้ค่าสถานที่ของเรา แทนที่จะเป็นหนึ่ง สิบร้อยพันที่พวกเขา จะอยู่ในระบบทศนิยม เป็นหนึ่งในสองสี่แปดและอื่น ๆ นี่คือสิ่งที่แม้ว่า ผู้ที่ 0 และ 1 โดยเฉพาะอย่างยิ่ง ถ้าเราเป็นนักวิทยาศาสตร์คอมพิวเตอร์ และเรากำลังทำมากของการเขียนโปรแกรม หรือการทำงานกับคอมพิวเตอร์เป็นไป ที่จะเห็นมากของตัวเลขไบนารี และผู้ที่ 0 และ 1 ในโซ่ขนาดใหญ่ อาจเป็นเรื่องยากมากที่จะแยก เราก็ไม่สามารถดูสตริงของ 0 และ 1 และจำเป็นต้องรู้ ว่าสิ่งที่มันเป็น แต่ก็ยังคงมีประโยชน์ที่จะสามารถ ข้อมูลด่วนในทางเดียวกัน ที่คอมพิวเตอร์ไม่ เรามีความคิดของนี้ ระบบเลขฐานสิบหกซึ่งเป็น ฐาน 16 แทนฐาน 10 หรือฐาน 2 ซึ่งหมายความว่าเรามี 16 หลัก ในการทำงานกับแทน 10 หรือ 2 และมันก็เป็นมากขึ้น วิธีที่รัดกุมในการแสดง ข้อมูลไบนารีในระบบคอมพิวเตอร์ มันมากที่เข้าใจมนุษย์มากขึ้น ดังนั้นเราจึงมีตัวเลข 0 ถึง 9 แล้ว เรายังมีความพิเศษเหล่านี้หก digits-- ที่ B, C, D, E และ F ซึ่งเป็นตัวแทนของ 10 ความคิดของเราของ 10, 11, 12, 13, 14 และ 15 ในทศนิยม บางครั้งโดยวิธีการที่คุณจะยัง เห็นเหล่านี้ผ่านของ f เป็นทุน ถึง F ซึ่งเป็น วิธีที่ฉันมีแนวโน้มที่จะทำมัน มันเป็นเพียงแค่ต้องการของฉัน รูปแบบ แต่อย่างใดอย่างหนึ่งเป็นเรื่องปกติ พวกเขาทั้งสองเป็นตัวแทนของสวย มากในสิ่งเดียวกัน ดังนั้นทำไมจะเย็นเลขฐานสิบหก? ทำไมเราต้องที่จะใช้นี้ ฐานเพิ่มเติมอื่น ๆ เรามีอยู่แล้ว 2 10 เราจะต้อง 16 ทำไม? ดี 16 เป็นอำนาจของ 2 และอื่น ๆ แต่ละหลักเลขฐานสิบหก, 0 ถึง f, สอดคล้องกับที่ไม่ซ้ำกัน การสั่งซื้อหรือการจัดเรียงที่ไม่ซ้ำกัน 4 ตัวเลขไบนารี 4 บิต ดังนั้นในแง่ที่ว่าเราสามารถแสดง นานมากที่ซับซ้อนเลขฐานสอง ในเลขฐานสิบหกใน วิธีที่รัดกุมมากขึ้น โดยไม่สูญเสียข้อมูลหรือมีการ ทำแปลงยุ่งยากโดยเฉพาะอย่างยิ่ง เกี่ยวกับตัวเลขเหล่านั้น ดังนั้นที่ผมเพียงแค่กล่าวว่า แต่ละหลักเลขฐานสิบหก สอดคล้องกับที่ไม่ซ้ำกัน การจัดเรียงของ 4 หลักเลขฐานสอง ดังนั้นสตริงไบนารี 0000 สอดคล้องกับหลักเลขฐานสิบหก 0 0110 สอดคล้องกับหลักเลขฐานสิบหก 6 และสอดคล้อง 1111 ที่จะฉหลักเลขฐานสิบหก หากคุณกำลังมองหาที่ แผนภูมินี้โดยเฉพาะ ถ้าคุณกำลังมองหาที่ ด้านซ้ายของแผนภูมิ คุณสามารถดูมี บิตของปัญหาความคลุมเครือที่นี่ 0 ทศนิยมสวยมาก แยกไม่ออกจากเลขฐานสิบหก 0, อื่น ๆ นอกเหนือจากความจริงที่ว่ามันเป็นภายใต้ คอลัมน์ที่บอกว่าเลขฐานสิบหก แต่เราอาจจะไม่เคย มีคอลัมน์ที่มี โดยทั่วไปเมื่อเรากำลังแสดง ตัวเลขลงในเลขฐานสิบหก จะเห็นความแตกต่างอย่างเห็นได้ชัด พวกเขาจากสัญกรณ์ทศนิยม เรามักจะนำหน้าพวกเขา ด้วยคำนำหน้า 0x 0x หมายถึงอะไรในความเป็นจริง มันเป็นเพียงเบาะแสให้เราเป็นมนุษย์ ว่าสิ่งที่เรากำลังจะเห็น หรือเกี่ยวกับการที่จะเริ่มต้นการแยก, เป็นจำนวนฐานสิบหก เห็นได้ชัดว่าสำหรับตัวเลขที่สูงขึ้น b, C, D และ F ซึ่งสอดคล้องกับ 10-15 มันเป็นที่ชัดเจนสวยที่ ที่เป็นเลขฐานสิบหก และในความเป็นจริงใด ๆ เลขฐานสิบหก ตัวเลขที่มีตัวอักษรที่อยู่ในนั้น น่าจะเห็นได้ชัดสวย เป็นเลขฐานสิบหก แต่ยังคงสำหรับ เพราะความชัดเจนก็ มักจะเป็นความคิดที่ดี คำนำหน้าทุกครั้งที่คุณ อ้างถึงหลักเป็นฐานสิบหก จำนวนโดย prefixing 0x ดังนั้นไบนารีที่เรา กล่าวว่ามีค่าสถานที่ มีสถานที่ที่คนเป็นสถานที่ที่เจ้าตัว สถานที่ที่สี่และเป็นสถานที่ที่แปด และนอกจากนี้ยังมีทศนิยมค่าสถานที่ที่ คนนับร้อยนับพัน ที่เราทุกคนอาจจำ จากโรงเรียนประถมศึกษา และเลขฐานสิบหกไม่ ข้อยกเว้นที่นี่จริงๆ นอกจากนี้ยังมีค่าสถานที่ แต่ ของการเป็นอำนาจของ 2 หรืออำนาจของ 10 พวกเขากำลังอำนาจของ 16 ดังนั้นเราจึงเห็นตัวเลขเหมือนเรานี้ สวยอย่างชัดเจนรู้ว่ามันเป็น 397 ใช่มั้ย? ดีถ้าเราจะเห็นตัวเลขเช่นนี้ เรารู้ว่านี้ไม่ได้อีกต่อไป 397 นี้เป็นเลขฐานสิบหก เลขที่สาม-9-7 มันไม่ได้ 397 ก็หมายความว่า บางสิ่งบางอย่างที่แตกต่างกัน เพราะเรากำลังใช้อำนาจของ 16 ทั้งหมด ของค่าสถานที่ของเราแทนอำนาจ 10 ในความเป็นจริงค่าสถานที่ที่นี่จะ เป็นสถานที่ที่คนในสถานที่ sixteens, และสถานที่ 2-100-ห้าสิบหก, ซึ่งสอดคล้องกับความคิดของคนที่เรา สถานที่สถานที่นับและร้อย สถานที่ถ้าจำนวนเป็น 397 แต่เนื่องจากมัน 0 x 397 เรามี เป็นสถานที่ที่คนที่ sixteens, และสอง 100-50-แตกสถานที่ หรือ 16 ไปยังสถานที่ 0 ซึ่งเป็น 1 16 ไปยังสถานที่พลังงานครั้งแรก 16 16 สถานที่ที่สอง, 256 และ อื่น ๆ และอื่น ๆ และอื่น ๆ ดังนั้นจำนวนนี้เป็นจริง 3 ครั้งที่ 16 ยกกำลังสองบวก 16 9 ครั้งรวมทั้ง 7 ผมไม่ได้ทำคณิตศาสตร์ที่นี่ แต่ก็ไม่ได้ 397 ก็มากมีขนาดใหญ่กว่า ในทำนองเดียวกันเราจะได้มี ADC 0x, ดีว่าเป็นครั้งที่ 16 ยกกำลังสอง หรือถ้าเราแปลว่าความคิดของเรา ของตัวเลขทศนิยมที่ 10 ครั้ง 16 ยกกำลังสองบวกครั้ง d 16 หรือ 13 ครั้งบวก 16 และไม่ต้องกังวลถ้าคุณยังไม่จำ d ที่ 13 หรืออะไรเช่นนั้น มีไม่มากเกินไป ตัวเลขตัวอักษรที่เหล่านี้ และมันจะกลายเป็น ที่ใช้งานง่ายสวยได้อย่างรวดเร็ว ดังนั้นอีกครั้งนี้เป็น 10 ครั้งที่ 16 ยกกำลังสอง, บวก 13 ครั้งที่ 16 ครั้งที่ 12 บวก 1 ADC 0x ดังนั้น ดังนั้นที่ผมกล่าวว่าทุก กลุ่มที่ 4 ตัวเลขไบนารี สอดคล้องกับเดียว หลักเลขฐานสิบหก และเพื่อให้มันเป็นจริงจริงๆ ง่ายที่จะเปลี่ยนไปมา ระหว่างฐานสิบหกและไบนารี หากคุณมีนี้สายยาวของ ตัวเลขไบนารีทั้งหมดที่คุณต้องทำ คือการเริ่มต้นการจัดกลุ่มพวกเขาขวา ไปทางซ้ายเป็นกลุ่ม 4 และจากนั้นคุณสามารถรวม พวกเขาเป็นตัวเลขฐานสิบหก รุนแรง จำกัด จำนวน คุณมีหลักในการประมวลผลทางจิตใจ แทนที่จะ 32 0 และ 1, ในขณะที่เราจะได้เห็นในครั้งที่สอง คุณอาจจะสามารถที่จะได้รับมันลง เพียงแค่ 8 หลักเลขฐานสิบหกมาก รัดกุมมากขึ้น แผนภูมิภาพนิ่งไม่กี่จะกลับ ช่วยให้คุณที่จะคิดออกทำแผนที่นี้ แม้ว่าคุณจะอีกครั้ง จดจำมันสวยได้อย่างรวดเร็ว เราจะไปถึงตัวอย่างในขณะนี้ ดังนั้นหากเรามีจำนวนเช่นนี้ นี้เลขฐานสองขนาดใหญ่จริงๆ หรือสิ่งที่ดูเหมือนจะเป็น เลขฐานสองขนาดใหญ่ และเหตุผลที่ผมบอกว่ามันเป็น เพียง so-- มัน behemoth ใช่มั้ย? มีจำนวนมากดังนั้นของ 0 และ 1 ของมี แต่เราอาจจะไม่ ความรู้สึกของการมีจริงๆสิ่งที่ ขนาดของจำนวนนี้จริงๆ เราไม่ได้มีความคิดใด ๆ สิ่งที่มัน จะสอดคล้องกับทศนิยม และในความเป็นจริงเราจะไม่ได้เห็นสิ่งที่มัน สอดคล้องกับทศนิยมในขณะนี้ เราอาจจะสามารถ แสดงนี้ในทางที่ จะให้เราบางข้อมูลเพิ่มเติม เกี่ยวกับเพียงวิธีการใหญ่จำนวนนี้มี ถ้าอย่างนั้นเราไปที่ขั้นตอนการแปลงที่ สิ่งแรกที่เราต้อง ที่จะทำคือเราต้องการที่จะกลุ่ม ตัวเลขเหล่านี้ออกเป็นกลุ่ม 4 เริ่มต้นจากการที่เหมาะสม และการทำงานไปทางซ้าย มีเกิดขึ้นเป็นตัวเลข 32 ที่นี่ซึ่งหมายความว่าเรามี แบ่งสะอาดที่ดีของ 8 กลุ่ม 4 โปรดจำไว้ว่าในแต่ละกลุ่ม 4 ที่นี่ไม่ซ้ำกันสอดคล้อง ไปยังหลักเลขฐานสิบหก ดังนั้นเราจะเริ่มต้นสร้างของเราอีกครั้ง จำนวนจากขวาและซ้ายทำงาน ดีสิ่งที่ 1101? ดีที่เราทำคณิตศาสตร์ออกมาในหัวของเรา เรามี 1 ในสถานที่แปด 1 ในสถานที่สี่เป็น 0 ใน twos สถานที่และ 1 ในสถานที่ที่คน นั่นคือ 8 บวก 4 บวก 1, ซึ่งเราจะได้รู้ว่าเป็น 13 แต่เราอาจจะไม่เขียน 13 ออก เพราะเรากำลังทำงานกับเลขฐานสิบหก เราจำเป็นต้องแปลงเป็นเลขฐานสิบหก เทียบเท่ากับ 13 ซึ่งเป็น d 0011 ดีที่เป็น 0 ใน สถานที่แปดเป็น 0 ในสถานที่สี่, 1 ในสถานที่เจ้าตัวที่ และ 1 ในสถานที่ที่คน นั่นคือ 3 ผมหมายถึงให้ทำเช่นนี้ อีกครั้งเรามีที่นี่ที่ 9 และแล้ว 11 แต่ที่ขการเรียกคืน 2 10-- หรือ a-- 6 และ 4 และเพื่อให้สตริงขนาดใหญ่มาก 0 และ 1 ด้านบน มีการแสดงความรัดกุมมากขึ้น ในเลขฐานสิบหกเป็น 46a2b93d 0x ดีตกลงเราได้เรียนรู้ใหม่ ทักษะเย็นสิ่งที่จุด? เราอาจจะได้ใช้นี้ทั้งหมด เวลาที่เรากำลังจะไปเร็ว ๆ นี้เห็น เราใช้เลขฐานสิบหกค่อนข้าง จำนวนมากเป็นโปรแกรมเมอร์ ไม่จำเป็นสำหรับ จุดประสงค์ของการทำคณิตศาสตร์กับมัน แต่เป็นเพราะหลายครั้ง หน่วยความจำที่อยู่ในระบบของเรา จะแสดงในเลขฐานสิบหก มันเป็นวิธีที่รัดกุมมากที่จะแสดง อื่นยุ่งยากเลขฐานสอง ดังนั้นอีกครั้งคุณอาจ not-- คุณอาจ ไม่ได้ไปทำคณิตศาสตร์ใด ๆ กับมันคุณไม่ได้ จะเป็นคูณ ตัวเลขฐานสิบหกร่วมกัน หรือทำอะไรแปลก ๆ เช่นเดียวกับที่ แต่มันก็เป็นทักษะที่มีประโยชน์ที่จะมี เพื่อให้คุณสามารถแสดงและเข้าใจ ที่อยู่หน่วยความจำและอื่น ๆ วิธีการใช้ข้อมูลใน C. ฉันลอยด์ดั๊กนี้เป็น CS50