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