DOUG LLYOYD: số Vì vậy, hệ thập lục phân, như thể chúng tôi cần một số cơ sở
Đề án phải không?
Vâng, hầu hết các nền văn hóa phương Tây, như bạn có lẽ đã quen thuộc,
sử dụng các cơ sở system-- thập phân 10, để đại diện cho dữ liệu số.
Chúng tôi có các chữ số 0, 1, 2, 3, 5, 6, 7,8,9.
Và nếu chúng ta cần phải đại diện những giá trị cao hơn chín,
chúng ta có thể kết hợp các chữ số sử dụng các khái niệm về giá trị nơi.
Vì vậy, cho 10, chúng tôi có một 1 chữ số tiếp theo là một chữ số 0
và chúng tôi trực giác hiểu rằng những gì chúng tôi đang làm
có chúng tôi đang nhân đầu tiên 1 10,
và sau đó thêm 0 cho tổng số là 10.
Máy tính làm một cái gì đó khá tương tự, như bạn có thể quen,
với các cơ sở nhị phân system-- 2.
Sự khác biệt đó là rằng chỉ có 2 chữ số
làm việc with-- 0 và 1.
Và như vậy giá trị cho chúng ta, thay vì là một,
mười, trăm, ngàn, như họ sẽ có trong hệ thập phân,
là một, hai, bốn, tám, và như vậy.
Dưới đây là những điều mặc dù, những của 0 và 1, đặc biệt
nếu chúng ta đang được các nhà khoa học máy tính và chúng tôi đang làm rất nhiều chương trình
hoặc làm việc với máy tính, đã đi để được nhìn thấy rất nhiều con số nhị phân.
Và những người của 0 và 1 trong chuỗi lớn có thể rất khó khăn để phân tích.
Chúng ta không thể chỉ nhìn vào một chuỗi các 0 và 1 người và nhất thiết phải biết
chính xác những gì nó được.
Nhưng nó vẫn còn hữu ích để có thể dữ liệu nhanh trong cùng một cách
mà một máy tính nào.
Chúng tôi có khái niệm về sự hệ thập lục phân, đó là
cơ sở 16, thay vì 10 cơ sở hoặc cơ sở 2.
Điều đó có nghĩa rằng chúng tôi có 16 chữ số để làm việc với thay vì 10 hoặc 2.
Và đó là một nhiều hơn cách ngắn gọn để diễn tả
thông tin nhị phân trên hệ thống máy tính, đó là con người dễ hiểu hơn.
Vì vậy, chúng tôi có các chữ số 0 đến 9, và sau đó
chúng tôi cũng có những phụ sáu digits-- một, b, c, d, đ, e, mà đại diện cho 10,
khái niệm của chúng tôi là 10, 11, 12, 13, 14 và 15, trong số thập phân.
Đôi khi, bằng cách này, bạn cũng sẽ thấy nhìn thấy những một đường f của vốn A
thông qua F, đó là cách tôi có xu hướng để làm điều đó.
Nó chỉ ưa thích của tôi phong cách, nhưng hoặc là tốt,
cả hai đều đại diện cho khá nhiều điều tương tự.
>> Vì vậy, tại sao lại là thập lục phân mát?
Tại sao chúng ta cần phải sử dụng này cơ sở bổ sung khác?
Chúng tôi đã có 2 và 10, tại sao chúng ta cần 16?
Vâng 16 là một sức mạnh của 2, vv mỗi chữ số thập lục phân, 0 qua f,
tương ứng với một độc đáo đặt hàng, hoặc sắp xếp độc đáo
4 chữ số nhị phân, 4 bit.
Và như vậy trong ý nghĩa đó, chúng ta có thể bày tỏ , phức tạp, số nhị phân rất dài
trong hệ thập lục phân trong một nhiều cách ngắn gọn hơn,
mà không bị mất thông tin hoặc phải làm chuyển đổi đặc biệt cồng kềnh
về những con số.
>> Vì vậy, như tôi vừa nói, chữ số thập lục phân mỗi
tương ứng với một độc đáo sắp xếp của 4 chữ số nhị phân.
Vì vậy, các chuỗi nhị phân 0000 tương ứng với chữ số thập lục phân 0.
0110 tương ứng với chữ số thập lục phân 6.
Và 1111 tương ứng để hệ thập lục phân chữ số f.
Nếu bạn đang tìm kiếm biểu đồ này, đặc biệt
nếu bạn đang tìm kiếm tại bên trái của biểu đồ,
bạn đã có thể thấy có một chút của một vấn đề không rõ ràng ở đây.
Số thập phân 0 là khá nhiều không thể phân biệt từ hệ thập lục phân 0,
khác với thực tế rằng đó là theo một cột mà nói thập lục phân.
>> Nhưng có lẽ chúng ta sẽ không phải lúc nào có cột đó.
Thông thường khi chúng ta đang biểu lộ sự số vào ký hiệu thập lục phân
để phân biệt rõ ràng chúng từ ký hiệu thập phân,
chúng ta thường có tiền tố chúng với tiền tố 0x.
0x có nghĩa là không có gì trong thực tế, nó chỉ là một đầu mối để chúng ta là con người
rằng những gì chúng tôi đang về để xem, hoặc về để bắt đầu phân tích,
là một số thập lục phân.
Rõ ràng để các chữ số cao hơn a, b, c, d, e, tương ứng với 10-15
nó khá rõ ràng đó là đó là một số thập lục phân.
Và trên thực tế, bất kỳ hệ thập lục phân số có chữ ở trong đó,
có lẽ là khá rõ ràng như một số thập lục phân.
Nhưng, vẫn còn, cho sự vì lợi ích của sự rõ ràng, đó là
luôn luôn là một ý tưởng tốt để tiền tố mỗi khi bạn
đề cập đến một chữ số thập lục phân là một số bằng cách đặt trước một 0x.
>> Vì vậy, nhị phân, như chúng ta cho biết, có giá trị nơi.
Có nơi những người thân, một nơi twos, một nơi bốn chân, và một nơi Tám.
Và số thập phân cũng có nơi giá trị, những người thân, hàng chục, hàng trăm, hàng ngàn
rằng tất cả chúng ta có thể nhớ lại từ trường lớp.
Và hệ thập lục phân là không có ngoại lệ ở đây, thực sự.
Nó cũng có giá trị nơi nhưng thay vì trở quyền hạn của 2 vụ, quyền hạn của 10,
họ quyền hạn của 16.
>> Vì vậy, chúng ta thấy một số mặt hàng như chúng tôi này biết khá rõ ràng nó là 397, phải không?
Vâng, nếu chúng ta thấy một số như thế này, chúng tôi biết đây không phải là 397 nữa.
Đây là hệ thập lục phân số có ba 9-7.
Đó không phải là 397, nó có nghĩa là cái gì đó khác nhau,
bởi vì chúng ta đang sử dụng quyền hạn của 16 như tất cả các giá trị vị trí của chúng tôi thay vì của các cường quốc
10.
Trong thực tế, các giá trị nơi đây sẽ là nơi những người thân, nơi sixteens,
và diễn ra hai-100-50-sixes, tương ứng với các ý tưởng của chúng ta về một người thân
nơi, hàng chục địa điểm, và một trăm nơi, nếu con số này là 397.
Nhưng kể từ khi nó 0x 397, chúng tôi có một người ra, sixteens nơi,
và một nơi hai-100-50-sixes.
Hoặc, một 16 đến 0 ra, mà là 1.
A 16 đến nơi điện đầu tiên, 16.
A 16 bình phương nơi, 256, và như vậy, và như vậy, và như vậy.
Vì vậy, con số này thực sự là 3 lần 16 bình phương, cộng với 9 lần 16, cộng với 7.
Tôi đã không làm như toán học ở đây, nhưng nó không phải 397, nó nhiều, lớn hơn nhiều so với điều đó.
>> Tương tự như vậy, chúng ta có thể có adc 0x, đó cũng là một lần 16 bình phương.
Hoặc nếu chúng ta dịch đó vào khái niệm của chúng tôi các số thập phân, đó là 10 lần
16 bình phương, cộng với d lần 16, hoặc cộng 13 lần 16.
Và đừng lo lắng nếu bạn vẫn chưa nhớ d đó là 13, hoặc bất cứ điều gì như thế,
không có quá nhiều các chữ số thư
và nó sẽ trở thành trực quan khá nhanh chóng.
Vì vậy, một lần nữa đây là 10 lần 16 bình phương, cộng với 13 lần 16, cộng với 12 lần 1.
Vì vậy, ADC 0x.
>> Vì vậy, như tôi đã nói, mỗi nhóm 4 chữ số nhị phân
tương ứng với một đơn chữ số thập lục phân,
và do đó, nó thực sự thực sự dễ dàng để thay đổi qua lại
giữa hex và nhị phân.
Nếu bạn có chuỗi dài này chữ số nhị phân, tất cả các bạn cần làm
được bắt đầu nhóm chúng ngay sang trái như nhóm 4.
Và sau đó bạn có thể củng cố chúng thành các số thập lục phân,
hạn chế nghiêm ngặt số lượng chữ số bạn có để xử lý tinh thần.
Thay vì 32 0 và 1 của, như chúng ta sẽ thấy trong một giây,
bạn có thể có thể làm cho nó xuống chỉ cần 8 chữ số thập lục phân, rất nhiều
ngắn gọn hơn.
>> Các bảng xếp hạng một vài slide sao sẽ giúp bạn để tìm ra bản đồ này,
mặc dù, một lần nữa bạn sẽ ghi nhớ nó khá nhanh chóng.
Chúng tôi sẽ đi qua một ví dụ ngay bây giờ.
Vì vậy, nếu chúng ta có một số như thế này, số nhị phân thực sự lớn này,
hoặc những gì dường như là một số nhị phân lớn.
Và lý do tôi nói rằng, đó là chỉ so-- đó là một người khổng lồ, phải không?
Có rất nhiều 0 và 1 của đó.
Nhưng chúng ta có thể làm được không thực sự có một cảm giác gì
độ lớn của con số này thực sự là.
Chúng tôi không có bất kỳ ý tưởng gì nó sẽ tương ứng với một số thập phân.
Và trên thực tế, chúng tôi thậm chí sẽ không nhìn thấy những gì nó tương ứng trong hệ thập phân ngay bây giờ.
Chúng tôi có thể có thể thể hiện điều này theo một cách mà
sẽ cung cấp cho chúng tôi một số thông tin về chỉ cần làm thế nào lớn số này là.
>> Vì vậy, chúng ta hãy đi đến đó quá trình chuyển đổi.
Điều đầu tiên chúng ta cần làm là chúng ta muốn nhóm
các chữ số ra thành các nhóm 4, bắt đầu từ bên phải
và làm việc bên trái.
Có xảy ra được 32 chữ số ở đây, có nghĩa là chúng tôi có
một break sạch đẹp của 8 nhóm 4.
Hãy nhớ rằng mỗi nhóm 4 đây, duy nhất tương ứng
đến một chữ số thập lục phân.
Vì vậy, chúng tôi sẽ bắt đầu một lần nữa xây dựng của chúng tôi số lượng từ cánh phải, và làm việc để lại.
Vâng năm 1101 là gì?
Vâng, chúng tôi làm toán ra trong đầu của chúng tôi, chúng tôi có 1 trong những nơi Tám, một 1
ở nơi bốn chân, một 0 trong twos nơi, và 1 ở nơi những người thân.
Đó là 8 cộng với 4 cộng thêm 1, mà chúng ta sẽ biết là 13.
Nhưng có lẽ chúng ta sẽ không viết ra 13, bởi vì chúng tôi đang làm việc với hệ thập lục phân.
Chúng tôi cần phải chuyển đổi nó sang hệ thập lục phân tương đương với 13, đó là d.
>> 0011, đó cũng là một số 0 vào nơi Tám, một trong bốn chân 0 chỗ,
1 trong những nơi twos, và 1 ở nơi những người thân.
Đó là 3.
Tôi có nghĩa là tiếp tục làm này một lần nữa, chúng tôi có ở đây 9.
Và sau đó 11, nhưng đó là b, thu hồi.
2, 10-- hoặc a-- 6 và 4.
Và do đó chuỗi rất lớn 0 và 1 của đỉnh
được thể hiện chính xác hơn trong hệ thập lục phân là 0x 46a2b93d.
>> Vâng, OK, chúng tôi đã học được một mới kỹ năng mát mẻ, điểm là những gì?
Chúng tôi có thể không sử dụng tất cả các thời gian, như chúng ta sẽ sớm thấy,
chúng tôi sử dụng hệ thập lục phân khá rất nhiều như các lập trình viên.
Không nhất thiết phải cho các Mục đích của toán học với nó,
nhưng vì rất nhiều lần địa chỉ bộ nhớ trong hệ thống của chúng tôi
được biểu diễn trong hệ thập lục phân.
Đó là một cách thực sự súc tích để bày tỏ nếu không cồng kềnh, số nhị phân.
Và như vậy, một lần nữa, bạn có thể not-- có lẽ bạn đang
sẽ không làm bất kỳ môn toán với nó, bạn không
sẽ là nhân số thập lục phân với nhau,
hoặc làm bất cứ điều gì kỳ lạ như thế.
Nhưng nó là một kỹ năng hữu ích để có vì vậy bạn có thể bày tỏ và hiểu
bộ nhớ địa chỉ, và khác cách sử dụng dữ liệu trong C.
>> Tôi Doug Lloyd, đây là CS50.