Computer Science: Binary - Cách máy tính lưu trữ và biểu diễn dữ liệu số
Trong Boolean algebra, chỉ có hai giá trị nhị phân: true và false, nhưng nếu chúng ta chỉ có hai giá trị, làm thế nào trên thế giới...
Trong Boolean algebra, chỉ có hai giá trị nhị phân: true và false, nhưng nếu chúng ta chỉ có hai giá trị, làm thế nào trên thế giới chúng ta biểu diễn thông tin ngoài hai giá trị này, đó là nơi toán học đi vào. Vì vậy, một giá trị nhị phân duy nhất có thể được sử dụng để biểu diễn một số Thay vì true và false, chúng ta có thể gọi hai trạng thái này là 1 và 0, điều này thực sự vô cùng hữu ích. Và nếu chúng ta muốn biểu diễn những thứ lớn hơn, chúng ta chỉ cần thêm nhiều chữ số nhị phân hơn. Điều này hoạt động giống hệt như các số thập phân mà tất cả chúng ta đều quen thuộc. Với số thập phân, "chỉ" 10 giá trị có thể có mà một chữ số duy nhất có thể là; 0 đến 9, và để có các số lớn hơn 9, chúng tôi chỉ bắt đầu thêm nhiều chữ số vào phía trước (ký hiệu cơ số-mười)
Chúng ta có thể làm tương tự với hệ nhị phân. Ví dụ, hãy lấy số hai trăm sáu mươi ba (263). Con số này thực sự đại diện cho điều gì? nó có nghĩa là chúng ta có 2 một trăm, 6 chục và 3 đơn vị. nếu bạn cộng tất cả những thứ đó lại với nhau, chúng ta có 263. Nhị phân hoạt động giống hệt nhau, nó chỉ là ký hiệu cơ số hai vì chỉ có hai chữ số khả dĩ trong hệ nhị phân 1 và 0. Điều này có nghĩa là mỗi số nhân phải lớn hơn hai lần so với bên phải của nó. Thay vì hàng trăm, hàng chục và hàng đơn vị, giờ đây chúng ta có số bốn, số hai và số một. lấy ví dụ số nhị phân: 101. Điều này có nghĩa là chúng tôi có 1 bốn, 0 hai và 1 một., Cộng tất cả chúng lại với nhau và chúng tôi có số 5 trong cơ số mười. nhưng để biểu diễn các số lớn hơn, hệ nhị phân cần nhiều chữ số hơn. Toán với số nhị phân cũng không khó
Lấy ví dụ phép cộng số thập phân của 183 cộng với 19. Đầu tiên chúng ta thêm 3+ 9, đó là 12, vì vậy chúng ta đặt 2 làm tổng và mang 1 đến cột hàng chục. Bây giờ chúng ta thêm 8 cộng 1 cộng với 1 mà chúng ta đã mang, 10 đó, 0 mang 1 cũng vậy. Cuối cùng, chúng tôi thêm 1 cộng với 1 mà chúng tôi đã mang, bằng 2 nên tổng số tiền là 202. Đây là cùng một tổng nhưng ở dạng nhị phân, 10110111 (183) + 00010011 (19). Giống như lúc nãy , chúng ta bắt đầu với cột cái. Thêm 1 + 1 kết quả là 2, ngay cả trong hệ nhị phân nhưng không có ký hiệu "2", vì vậy chúng tôi sử dụng 10 và đặt 0 làm tổng của chúng tôi và mang số 1. Cũng giống như trong ví dụ thập phân 1 + 1 của chúng ta, cộng với 1 được mang, bằng 3 hoặc 11 trong hệ nhị phân, vì vậy chúng ta đặt tổng là 1 và chúng ta lại mang 1, v.v. Chúng ta kết thúc với 11001010, giống với số 202 trong cơ số 10.
Mỗi chữ số nhị phân, 1 hoặc 0 được gọi là một "bit". Chúng ta đang sử dụng các số 8 bit với giá trị thấp nhất là 0 và giá trị cao nhất là 255, yêu cầu tất cả 8 bit phải được đặt thành 1. Đó là 256 giá trị hoặc 2 đến lũy thừa 8. Bạn có thể đã nghe nói về máy tính 8 bit, đồ họa hoặc âm thanh 8 bit. Đây là những máy tính đã thực hiện hầu hết các hoạt động của chúng trong các khối 8 bit. Nhưng 256 giá trị khác nhau không nhiều để làm việc với nó, vì vậy nó có nghĩa là những thứ như trò chơi 8-bit bị giới hạn ở 256 màu khác nhau cho đồ họa của chúng. Và 8-bit là một kích thước phổ biến trong máy tính, nó có một từ đặc biệt: 1 byte. 1 byte là 8 bit. Nếu bạn có 10 byte, có nghĩa là bạn thực sự có 80 bit. Bạn đã nghe nói về kilobyte, megabyte, gigabyte, v.v. Các tiền tố này biểu thị các quy mô dữ liệu khác nhau. Cũng giống như một kg là một nghìn gam, 1 kilobyte là 1 nghìn byte .. hoặc thực sự là 8000 bit.
Mega là một triệu byte (MB) và Giga là một tỷ byte (GB). Ngày nay, bạn thậm chí có thể có một ổ cứng có dung lượng 1 terabyte (TB). đó là 8 nghìn tỷ đơn vị và số không. Nhưng điều đó không phải lúc nào cũng đúng, trong hệ nhị phân, một kilobyte có hai sức mạnh của 10 byte hoặc 1024. 1000 cũng đúng khi lấy khoảng kilobyte nhưng chúng ta nên thừa nhận rằng nó không phải là định nghĩa đúng duy nhất. Bạn có thể cũng đã nghe đến thuật ngữ máy tính 32 bit hoặc 64 bit - gần như chắc chắn bạn đang sử dụng một máy tính ngay bây giờ, điều này có nghĩa là chúng hoạt động ở các khối 32 hoặc 64 bit.
Con số lớn nhất mà bạn có thể biểu diễn với 32 bit chỉ dưới 4,3 tỷ, là ba mươi hai 1 trong hệ nhị phân. Đây là lý do tại sao các bức ảnh trên Instagram của chúng tôi rất mịn và đẹp - chúng được bao gồm hàng triệu màu, bởi vì máy tính ngày nay sử dụng đồ họa màu 32-bit.
Tất nhiên, không phải mọi thứ đều là một con số dương. Vì vậy, chúng ta cần một cách để biểu diễn số dương và số âm. Hầu hết các máy tính sử dụng bit đầu tiên cho dấu hiệu: 1 cho số âm, 0 cho số dương và sau đó sử dụng 31 bit còn lại cho chính số đó. Điều đó cho chúng ta một phạm vi khoảng cộng hoặc trừ hai tỷ. Mặc dù đây là một dãy số khá lớn nhưng nó không đủ cho nhiều tác vụ. Giá trị lớn nhất mà số 64 bit có thể đại diện là khoảng 9,2 nghìn triệu tỷ.
Máy tính phải gắn nhãn các vị trí trong bộ nhớ của chúng, được gọi là địa chỉ, để lưu trữ và truy xuất các giá trị. Khi bộ nhớ máy tính đã phát triển lên đến gigabyte và terabyte - tức là hàng nghìn tỷ byte - thì cũng cần phải có địa chỉ bộ nhớ 64 bit.
Ngoài các số âm và số dương, máy tính phải xử lý các số không phải là số nguyên, như 12,7, 3,14 hoặc thậm chí có thể phân biệt 43989,1. Chúng được gọi là các số "dấu phẩy động", vì dấu thập phân có thể nổi xung quanh ở giữa số. Một số phương pháp đã được phát triển để biểu diễn số dấu phẩy động. Trong đó phổ biến nhất là tiêu chuẩn IEEE 754.
Về bản chất, tiêu chuẩn này lưu trữ các giá trị thập phân giống như ký hiệu khoa học Ví dụ: 625,9 có thể được viết là 0,6259 x 10 ^ 3. Có hai con số quan trọng ở đây: .6259 được gọi là ý nghĩa và 3 là số mũ. Trong số dấu phẩy động 32 bit, bit đầu tiên được sử dụng cho dấu của số dương hoặc âm. 8 bit tiếp theo được sử dụng để lưu trữ số mũ và 23 bit còn lại được sử dụng để lưu trữ ý nghĩa (significand).
Chúng ta đã nói rất nhiều về các con số, nhưng tên của bạn có thể bao gồm các chữ cái, vì vậy nó thực sự hữu ích cho máy tính cũng có cách để biểu diễn văn bản. Tuy nhiên, thay vì có một dạng lưu trữ đặc biệt cho các chữ cái, máy tính chỉ đơn giản sử dụng các con số để biểu thị các chữ cái. Cách tiếp cận đơn giản nhất có thể là đánh số thứ tự của bảng chữ cái: A là 1, B là 2, C 3, v.v. Trên thực tế, Francis Bacon, nhà văn nổi tiếng người Anh, đã sử dụng chuỗi năm bit để mã hóa tất cả 26 chữ cái trong tiếng Anh. bảng chữ cái để gửi tin nhắn bí mật vào những năm 1600. Và năm bit có thể lưu trữ 32 giá trị có thể - như vậy là đủ cho 26 chữ cái, nhưng không đủ cho dấu câu, chữ số và chữ hoa và chữ thường
ASCII , Mã tiêu chuẩn Hoa Kỳ để trao đổi thông tin. Được phát minh vào năm 1963, ASCII là một mã 7 bit, đủ để lưu trữ 128 giá trị khác nhau. Với phạm vi mở rộng này, nó có thể mã hóa chữ viết hoa, chữ thường, chữ số từ 0 đến 9 và các ký hiệu như dấu @ và dấu chấm câu. Ví dụ: chữ thường 'a' được biểu thị bằng số 97, trong khi chữ 'A' viết hoa là 65, dấu hai chấm là 58, một dấu ngoặc đóng là 41.
ASCII thậm chí còn có một lựa chọn các mã lệnh đặc biệt, chẳng hạn như ký tự dòng mới để cho máy tính biết vị trí quấn một dòng sang hàng tiếp theo. Trong các hệ thống máy tính cũ hơn, dòng văn bản sẽ tiếp tục nằm ngoài rìa màn hình nếu bạn không bao gồm một ký tự dòng mới. Bởi vì ACSII là một tiêu chuẩn ban đầu, nó đã được sử dụng rộng rãi và cho phép các máy tính khác nhau do các công ty khác nhau chế tạo có thể trao đổi dữ liệu. Điều này khả năng trao đổi thông tin trên toàn cầu được gọi là "khả năng tương tác"(interoperability). Tuy nhiên nó có một hạn chế lớn: nó thực sự chỉ được thiết kế cho tiếng Anh. May mắn thay, có 8 bit trong một byte, không phải 7 và nó sớm trở nên phổ biến để sử dụng mã. 128 đến 255 trước đây không được sử dụng cho các ký tự "quốc gia". Ở Hoa Kỳ, những con số bổ sung đó chủ yếu được sử dụng để mã hóa các ký hiệu bổ sung, như ký hiệu toán học, các yếu tố đồ họa và các ký tự có dấu thông thường. Mặt khác, trong khi các ký tự Latinh được sử dụng phổ biến, máy tính Nga sử dụng các mã bổ sung để mã hóa các ký tự Cyrillic, và máy tính Hy Lạp, các chữ cái Hy Lạp, v.v. Và mã ký tự quốc gia hoạt động khá tốt cho hầu hết các quốc gia.
Vấn đề là, nếu bạn mở một email được viết bằng tiếng Latvia trên máy tính của Thổ Nhĩ Kỳ, kết quả là hoàn toàn không thể hiểu được. Và mọi thứ hoàn toàn đổ vỡ với sự gia tăng của máy tính ở châu Á, khi các ngôn ngữ như tiếng Trung và tiếng Nhật có hàng nghìn ký tự. Không có cách nào để mã hóa tất cả các ký tự đó thành 8 bit. Đáp lại. mỗi quốc gia đã phát minh ra các lược đồ mã hóa nhiều byte, tất cả đều không tương thích lẫn nhau. Người Nhật đã quá quen thuộc với vấn đề mã hóa này nên họ đã đặt một cái tên đặc biệt cho nó: "mojibake", có nghĩa là "văn bản xáo trộn". Và thế là nó ra đời - Unicode - một định dạng để thống trị tất cả. Được phát triển vào năm 1992 để cuối cùng loại bỏ tất cả các chương trình quốc tế khác nhau, nó thay thế chúng bằng một sơ đồ mã hóa phổ quát.
Phiên bản phổ biến nhất của Unicode sử dụng 16bit với khoảng trống cho hơn một triệu mã - đủ cho mỗi ký tự từ mọi ngôn ngữ từng được sử dụng hơn 120.000 nếu chúng trong hơn 100 loại chữ viết cộng với khoảng trống cho các ký hiệu toán học và thậm chí cả các ký tự đồ họa như Emoji. Và theo cùng một cách mà ASCII xác định một lược đồ để mã hóa các chữ cái dưới dạng số nhị phân, các định dạng tệp khác như MP3 hoặc GIF - sử dụng số nhị phân để mã hóa âm thanh hoặc màu sắc của pixel trong ảnh, phim và nhạc của chúng tôi, quan trọng nhất là tất cả đều chuyển thành chuỗi dài của bit. Tin nhắn văn bản, video YouTube này, mọi trang web trên internet và thậm chí cả hệ điều hành máy tính của bạn, không có gì khác ngoài các chuỗi dài số 1 và 0.
PS: Hiện tại account Jayson cũ của mình đang bị mất nên bây mình sẽ đăng bài tại account này nha
Khoa học - Công nghệ
/khoa-hoc-cong-nghe
Bài viết nổi bật khác
- Hot nhất
- Mới nhất