Giải thích đề sắp xếp dữ liệu kiểu int trên file nhị phân

Viết hàm sắp xếp dữ liệu kiểu int trên file nhị phân. trên file nhị phân là như thế nào ạ

1 số int trong file nhị phân được lưu bằng đúng sizeof int bytes thay vì dạng chữ số của nó (độ dài là số chữ số). Lưu ý 1 kí tự khác với 1 byte.

VD: "ABCD" viết ra hex là 0x41424344, có thể lưu số 1'094'861'636. Cùng một dãy bit có thể đọc ra hàng nghìn thứ trên đời :smiley:

3 Likes

giống như trong txt là nguyên mẫu của nó thì trong dat là ra hex hả anh

Hay là ntn:

Với số 123456789, thì trên file sẽ là:

  • Text mode: 123456789 9 bytes
  • Binary mode: 0x07 0x5B 0xCD 0x15 4 bytes. Chỉ có 1 kí tự có trên bàn phím là 0x5B [ :smiley:
3 Likes

File nhị phân là file chỉ chứa 1 chuỗi 01 (nhị phân) . Kết thúc chuỗi là kí tự EOF.
Người ta dùng 4 bytes (32 bit) để biểu diễn 1 số kiểu int.
Trong file nhị phân đó không có phảy hay cách gì hết, cứ hết 4 bytes là tự hiểu đã biểu diễn 1 số kiểu int.

***Các bước:
Đầu tiên là cấp phát bộ nhớ tương ứng với chuỗi int trong file đó.
Dùng hàm open mở file, chép toàn bộ nội dung file sang bộ nhớ vừa cấp phát bằng hàm read
Cast bộ nhớ sang dạng int *, bây giờ ta có một array kiểu int.
Dùng thuật toán để sắp xếp các phần tử.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?