Các đơn vị tính dung lượng

Đỗ Việt
(doviet)

Thành viên danh dự
Tiện thấy cái này trên google, paste vào đây cho mọi người xem, còn nếu ai cũng biết rồi thì Hiếu xóa đi cũng được :D

1 kilobyte = 1,024 bytes
1 megabyte = 1,024 kilobytes = 1,048,576 bytes
1 gigabyte = 1,024 megabytes = 1,048,576 kilobytes = 1,073,741,824 bytes
1 terabye = 1,024 gigabytes = 1,048,576 megabytes = 1,073,741,824 kilobytes = 1,099,511,627,776 bytes
1 petabyte = 1,024 terabytes = 1,048,576 gigabytes = 1,073,741,824 megabytes = 1,125,899,906,842,624 bytes
1 exabyte = 1,152,921,504,606,846,976 bytes
1 zettabyte = 1,180,591,620,717,411,303,424 bytes
1 yottabyte = 1,208,925,819,614,629,174,706,176 bytes
 
Anh muốn 1 cái HDD dung lượng 1 yottabyte thôi :D
Chả hiểu trên thế giới đã có cái nào đạt đến mức đấy chưa? Hay chỉ đặt ra cho vui thôi :-/
 
Hị hị không phải là đặt ra cho vui, mà đấy là tiền tố của các tên gọi đo lường, ghép vào với mét các thứ cũng được thôi. Còn ổ cứng thì chưa có ổ nào (1 cái) to đến mức đấy được ạ, to nhất (sản xuất đại trà) mới khoảng 1/2 Terabytes thôi, còn server vài T đến vài chục T đều phải dùng Array hết.
 
1 byte = 8 bit :D

hôm trc vừa học xử lí bit trên pascal :))
 
Nghe nói từ nhiều năm nay chúng nó đổi mấy cái đơn vị này thành chẵn 1000 cả rồi chứ nhỉ? ví dụ như là 1kb = 1000b ???

Chả thế mà mấy cái ổ cứng trên hộp ghi 80G thế mà đem về chạy cũng chỉ được 76G là cùng?
 
Nó lấy 1000 cho dễ tính thui. Còn trên lý thuyết vẫn là 1024 bởi vì nếu ko sẽ rất vô lý vì căn của 1000 sẽ ko phải là 1 số nguyên.

Cái chuyện ổ cứng 80GB được có 76Gig thì đúng là thật đấy. :))
 
Ổ càng to mất càng nhiều mới cú! USB 256 MB toàn chỉ tầm 250 :-&
 
Nó tính đơn vị 1000 chứ ko phải 1024 nên mới có chuyện mất. Nhưng trong trường hợp nó tính đơn vị 1000 thì nó sẽ phải có chú thích rõ ràng là tính theo 1000 chứ ko phải 1024 vì phần lớn các nước đều có luật chống misleading cả.
 
Đặng Trần Hiếu đã viết:
Còn thiếu byte & bit kìa.
Vì là đoạn copy khi search được ở Google nên anh để nguyên si, không muốn thêm thắt mà.

1 bit = đơn vị booleen "1" hoặc "0" (hờ, ai chỉnh giúp cái, không biết diễn giải thế nào! :|)
1 B = 8 bits
1 KB = 1024 B
 
1 bit = đơn vị booleen "1" hoặc "0" (hờ, ai chỉnh giúp cái, không biết diễn giải thế nào! )
Gần như thế, vì máy tính chỉ hiểu được 2 trạng thái bật & tắt (thực ra là luồng điện đi vào thì chỉ có mạnh hoặc yếu) ---> chỉ có thể là 1 & 0 ---> có thể diễn đạt binary.
 
@Đỗ Việt: 1BiT = 1 Binary Digit (0 / 1)
Boolean = Logical Result (True / False)

:D

Nhớ cái hồi C, không có kiểu bool thì toàn while(1) {} :)
 
Gần như thế, vì máy tính chỉ hiểu được 2 trạng thái bật & tắt (thực ra là luồng điện đi vào thì chỉ có mạnh hoặc yếu) ---> chỉ có thể là 1 & 0 ---> có thể diễn đạt binary.

không phải là máy tính "chỉ có thể" hiểu được 2 trạng thái bật tắt mà thực ra trước đây vẫn có những máy tính sử dụng cả hệ số nhị phân lẫn thập phân như 1 vài mainframe lớn của IBM. Sau này người ta mới thấy sử dụng hệ thập phân hoặc các hệ số khác ngoài nhị phân mang lại độ chính xác kém do các linh kiện trong máy tính phải phân biệt nhiều giá trị khác nhau của cùng một đại lượng đi qua các thiết bị trong máy nên sự khác biệt giữa 2 giá trị cận kề nhau là rất ít. Hơn nữa trong máy tính không chỉ có sự đặc trưng về dòng điện (cường độ cao- thấp) mà còn có cả đặc trưng về điện tích ( có hoặc không có điện tích trong các tụ điện thuộc 1 ô nhớ) hoặc hướng của các mảnh từ tính nên việc dùng hệ số có nhiều số sẽ kém chính xác


thực ra trước đây, đối với các hệ máy tính rất cũ không có khái niệm byte mà thay vào đó là cell. Cell là một phần tử nhớ thuộc bộ nhớ trong. Hàng loạt các cell tập hợp lại tạo thành ma trận bộ nhớ. Mỗi cell sẽ được đánh địa chỉ và có một liên kết với bus địa chỉ của bộ nhớ ==> Cell là đơn vị nhỏ nhất được đánh địa chỉ trong máy tính. Trước đây thì mỗi tập đoàn sản xuất máy tính khác nhau tự quy định cho mình 1 cell sẽ có bao nhiêu bit: 1, 12, 16, 24, 27, sau này khi chuẩn hóa máy tính theo chuẩn của IBM thì người ta mới lấy 1 cell có 8bit và gọi đó là 1 byte
 
Nguyễn Khánh Duy đã viết:
@Đỗ Việt: 1BiT = 1 Binary Digit (0 / 1)
Boolean = Logical Result (True / False)
Hẹ, cái đó tớ nghĩ ai cũng biết, tớ chỉ không biết tiếng Việt diễn giải thế nào thôi.

thực ra trước đây, đối với các hệ máy tính rất cũ không có khái niệm byte mà thay vào đó là cell. Cell là một phần tử nhớ thuộc bộ nhớ trong. Hàng loạt các cell tập hợp lại tạo thành ma trận bộ nhớ. Mỗi cell sẽ được đánh địa chỉ và có một liên kết với bus địa chỉ của bộ nhớ ==> Cell là đơn vị nhỏ nhất được đánh địa chỉ trong máy tính. Trước đây thì mỗi tập đoàn sản xuất máy tính khác nhau tự quy định cho mình 1 cell sẽ có bao nhiêu bit: 1, 12, 16, 24, 27, sau này khi chuẩn hóa máy tính theo chuẩn của IBM thì người ta mới lấy 1 cell có 8bit và gọi đó là 1 byte
Ô, ra thế, thông tin hay nhỉ, cảm ơn Thắng ;)
 
Chỉnh sửa lần cuối:
không phải là máy tính "chỉ có thể" hiểu được 2 trạng thái bật tắt mà thực ra trước đây vẫn có những máy tính sử dụng cả hệ số nhị phân lẫn thập phân như 1 vài mainframe lớn của IBM. Sau này người ta mới thấy sử dụng hệ thập phân hoặc các hệ số khác ngoài nhị phân mang lại độ chính xác kém do các linh kiện trong máy tính phải phân biệt nhiều giá trị khác nhau của cùng một đại lượng đi qua các thiết bị trong máy nên sự khác biệt giữa 2 giá trị cận kề nhau là rất ít. Hơn nữa trong máy tính không chỉ có sự đặc trưng về dòng điện (cường độ cao- thấp) mà còn có cả đặc trưng về điện tích ( có hoặc không có điện tích trong các tụ điện thuộc 1 ô nhớ) hoặc hướng của các mảnh từ tính nên việc dùng hệ số có nhiều số sẽ kém chính xác
Sai, sự thật là máy tính chỉ có thể hiểu 2 trạng thái bật & tắt. Từ đó 0 & 1 mới ra đời, chứ ko phải 0 & 1 ra đời trước. Để biểu diễn 2 trạng thái nì nó dùng cường độ dòng điện khác nhau. Thậm chí là ko có điện & có điện (bởi vì ko có điện & có điện chẳng qua là cường độ dòng điện thấp ở mức extreme), tùy từng trường hợp khác nhau cái thấp & cao nì được sử dụng khác nhau, ví như trong lưu trữ thì nó có thể là rãnh sâu hoặc rãnh thấp. Máy có sử dụng hệ số thập phân hay ko ko quan trọng, vấn đề có phải là hệ số thập phân đó lại được chuyển đổi ra từ hệ số nhị phân?? Hoặc là nó phải phân biệt giữa 10 cường độ dòng điện khác nhau. Cái đoạn chú nói:
Sau này người ta mới thấy sử dụng hệ thập phân hoặc các hệ số khác ngoài nhị phân mang lại độ chính xác kém do các linh kiện trong máy tính phải phân biệt nhiều giá trị khác nhau của cùng một đại lượng đi qua các thiết bị trong máy nên sự khác biệt giữa 2 giá trị cận kề nhau là rất ít
Chú có hiểu thực sự cái "giá trị" mà chú đang nói đến nó là cái rì ko??
 
Chỉnh sửa lần cuối:
ngày xửa ngày xưa khi mà người ta còn chưa gọi nó là máy tính, người ta đã tạo ra 1 cái máy biết tính không dùng pha của dòng điện mà dùng lỗ dập, có lỗ là 1, không có lỗ là 0. Hệ nhị phân cho thấy cái hiệu quả trong tính toán tự động từ đó chứ ai dùng hệ thập phân làm nền cho căn bản tính toán tự động bao giờ (vì máy tính mà bít biểu diễn hệ thập phân dưới dạng cường độ dòng điện mạnh yếu thì nó siu quá rồi, người ta thấy rằng nó ngu lắm, chỉ biết có mỗi 2 pha tắt, mở của dòng điện thôi nên mới phải dùng hệ nhị phân).
Các đơn vị dung lượng cũng từ con số 2 đó mũ lên mà ra, còn đơn vị quản lý ô nhớ của biến thì vẫn dùng đơn vị bit thay vì lên thành byte. Các đơn vị ô nhơ cứ càng ngày càng tăng dần theo độ phức tạp của tính toán bởi vậy mới sinh ra cái gọi là hệ thống 16-bit, 32-bit rồi gần đây là 64-bit (không mới lắm nữa nhưng với các lập trình viên thông thường cũng là rất mời rồi). ô nhớ càng cao, khả năng quản lý càng nhiều vì vậy, các máy chủ với công nghệ 64-bit mới này có khả năng quản lý bộ nhớ nhiều hơn hệ thống 32-bit nhiều lần.
 
Thực ra với lập trình viên, 16 bit, 32 bit hay 64 bit thì cũng rứa cả mà thui (nói về cách lập trình), khác biệt là rất ít (tất nhiên là ngoại trừ những chương trình từ đầu đến cuối chỉ có cách duy nhất là truy cập trực tiếp vào con trỏ bộ nhớ), nhưng nói chung chương trình như thế ko nhiều, vả lại, những ngôn ngữ mới hơn bi giờ thường tránh cho lập trình viên 3 cái vụ nì.

Thực tế thì đúng là có 1 số loại máy hồi trước sử dụng hệ số thập phân (bằng cách sử dụng các cường độ khác nhau của dòng điện như đã nói ở trên) nhưng ko hiệu quả ---> mới chuyển hết sang nhị phân.
 
Các đơn vị dung lượng cũng từ con số 2 đó mũ lên mà ra, còn đơn vị quản lý ô nhớ của biến thì vẫn dùng đơn vị bit thay vì lên thành byte. Các đơn vị ô nhơ cứ càng ngày càng tăng dần theo độ phức tạp của tính toán bởi vậy mới sinh ra cái gọi là hệ thống 16-bit, 32-bit rồi gần đây là 64-bit (không mới lắm nữa nhưng với các lập trình viên thông thường cũng là rất mời rồi). ô nhớ càng cao, khả năng quản lý càng nhiều vì vậy, các máy chủ với công nghệ 64-bit mới này có khả năng quản lý bộ nhớ nhiều hơn hệ thống 32-bit nhiều lần.

không phải là đơn vị ô nhớ tăng lên theo mức độ phức tạp của tính toán mà tăng lên theo nhu cầu sử dụng và truy cập bộ nhớ mà ứng dụng đòi hỏi. Nói một hệ thống bao nhiêu bit có nghĩa là đề cập đến độ rộng của bus địa chỉ, khả năng lưu trữ địa chỉ của thanh ghi IP và không gian địa chỉ sử dụng để xác định vị trí của ô nhớ. Ví dụ như máy tính 32bits sẽ có các thanh ghi lưu trữ địa chỉ của lệnh kế tiếp trong bộ nhớ với 1 dãy số dài 32 chữ số ==> có thể tạo ra 2^32 = xấp xỉ 4 tỷ giá trị địa chỉ khác nhau, mỗi giá trị địa chỉ được đánh cho 1 cell. Nếu 1 cell theo hệ máy của IBM có 8bits=1 byte thì bộ nhớ quản lỹ được với 32bits địa chỉ là 4Gb, còn nếu với 64bits địa chỉ thì quản lý được 2^64 = xấp xỉ 18 triệu Tera. Một cái nữa là khi lệnh từ bộ nhớ đi vào bộ xử lý thì đi thành từng từ (word), một từ lại gồm nhiều byte tuỳ thuộc hệ máy nào. hệ thống 32bits thì 1 từ có 4bytes

Trên lý thuyết, việc sử dụng hệ thập phân hay bất cứ hệ số nào khác đều có thể được, vì thông tin số hoàn toàn có thể mã hoá và cất giữ bằng cách phân biệt các giá trị khác nhau của một đại lượng vật lý liên tục. Tuy nhiên người ta dùng hệ nhị phân vì tính hiệu quả của nó so với các hệ số khác chứ không phải vì không thể dùng các hệ số khác
 
ở trên:
Đặng Trần Hiếu đã viết:
Sai, sự thật là máy tính chỉ có thể hiểu 2 trạng thái bật & tắt. Từ đó 0 & 1 mới ra đời, chứ ko phải 0 & 1 ra đời trước. Để biểu diễn 2 trạng thái nì nó dùng cường độ dòng điện khác nhau. Thậm chí là ko có điện & có điện (bởi vì ko có điện & có điện chẳng qua là cường độ dòng điện thấp ở mức extreme),

ở dưới:
Đặng Trần Hiếu đã viết:
Thực tế thì đúng là có 1 số loại máy hồi trước sử dụng hệ số thập phân (bằng cách sử dụng các cường độ khác nhau của dòng điện như đã nói ở trên) nhưng ko hiệu quả ---> mới chuyển hết sang nhị phân.

--> xem ra ý kiến cá nhân cũng bị lung lay sau khi xem được tài liệu nào đó.

Nếu ai có link nói về lịch sử komputer, nhất là có hình ảnh minh họa thì càng tốt về mấy cái máy thời xưa ấy thì post lên cho mọi người cùng đọc và dễ minh họa hơn cho lời nói của mình.
Còn về mấy cái vụ sử dụng tập lệnh 32-bit và 64-bit thì mình chỉ đọc được là có sự khác biệt tương đối vì sự khác biệt cơ bản là khả năng tối ưu cho tính toán trên nền 32bit hay 64bit thôi chứ không phải là lệnh phải biến đổi, nên dĩ nhiên là LTV thông thường vẫn làm việc được với hệ thống 64bit. Hệ thống 64bit cung cấp thêm một số lệnh cho phép người lập trình quản lý nhiều tài nguyên hệ thống hơn nên chỉ thấy nói là LTV cho HDH là phải nghiên cứu nhiều nhất. Hiện tại HDH windows 64bit đã ra đời nhưng còn thiếu sự hỗ trợ của các hãng phần mềm thứ 3 nên vẫn chưa thực sự là lựa chọn thích hợp cho người sử dụng thông thường hiện nay.
Dân không chuyên về CNTT nên nếu ai có ý kiến khác hoặc các link minh họa đề nghị post lên cho mọi người được rõ.
 
Back
Bên trên