vấn đề: trong trò chơi video có rất nhiều con số có độ chính xác thấp có thể được đóng gói cùng nhau qua mạng để tiết kiệm băng thông đáng kể so với gửi chuỗi. Các chuỗi được phân bổ cho UTF-8 sử dụng 1 byte cho mỗi ký tự.Làm thế nào để viết các số có độ chính xác thấp (2-10 bit) vào một bộ đệm mảng/blob?
Lý tưởng nhất là nên có một cách để viết những con số này với nhau:
- chơi id trong trò chơi- chính xác 0-1023 phạm vi, 10 bit
- chơi rotation- quaternion- một vài số điện thoại kết thúc là 24 bit sau khi đơn giản hóa toán học
- đầu vào trình phát- 0-1 phạm vi x2, 2 bit
Làm thế nào để bạn có những con số có độ chính xác thấp như thế này và đặt chúng vào bộ đệm mảng/blob?
* "Chuỗi được cấp cho UTF-8 sử dụng 1 byte cho mỗi ký tự." * Hoặc hai, hoặc ba hoặc bốn, tùy thuộc vào ký tự. Ví dụ, 'ç' (như trong François) là hai byte trong UTF-8, như là' £ '(dấu Pound Sterling) và' ¥ '(yên); '€' (dấu Euro) là ba byte. –
Lưu ý rằng tổng số bit trong ví dụ OP là 36 khiến cho vấn đề này phức tạp hơn một chút (nếu lưu trữ nhỏ gọn là mục tiêu, nghĩa là). – K3N
có và các con số phải sắp xếp đúng cách mặc dù bit co lại quá, vì vậy một số phương pháp để đảm bảo độ dài cố định được yêu cầu – hydrix