Tôi có chuỗi 128 bit và người giám sát của tôi đã yêu cầu tôi trình bày 128 bit đó dưới dạng đa thức. Đây là một quét của giấy ông đang viết trên:Làm thế nào để sử dụng đa thức thay vì bit để cải thiện hiệu suất?
Ý tưởng của ông là, vì chúng ta đang loại bỏ sự 0s từ những bit, chúng ta sẽ có thể thực hiện các hoạt động tiếp theo (hầu hết trong số đó là XOR giữa các bit/đa thức) nhanh hơn nhiều nếu chúng ta làm việc trên tất cả các bit.
Tôi hiểu yêu cầu là gì và tôi có thể thực hiện trên giấy cũng như trong ứng dụng. Nhưng theo cách của tôi sẽ không đạt được mục tiêu của mình, đó là cải thiện hiệu suất. Anh ấy thực sự nói rằng có những thư viện đã làm điều này, nhưng tiếc là tôi không thể tìm thấy bất kỳ thư viện nào. Điều duy nhất tôi tìm thấy là một lớp Đa thức đánh giá đa thức, đó không phải là điều tôi muốn.
Các bạn có biết làm cách nào để triển khai tính năng này để cải thiện hiệu suất không? Bất kỳ mã/đoạn mã/bài viết nào được đánh giá rất nhiều.
Ứng dụng được viết bằng Java, nếu điều đó tạo ra bất kỳ sự khác biệt nào.
Cảm ơn,
Mota
Cập nhật:
giám sát của tôi nói rằng C library này sẽ làm nhiệm vụ. Tôi không thể tìm ra cách nó hoạt động như thế nào và nó sẽ làm như thế nào.
Tôi đã thấy điều này được thực hiện trong các thư viện mã hóa, đặc biệt là các trường galois. Tôi không thể cụ thể hơn điều này, đã lâu rồi tôi mới thấy nó. –
http://en.wikipedia.org/wiki/Finite_field_arithmetic –
Vấn đề là hầu hết các bit xử lý máy rất nhanh và nếu bạn cố gắng làm bất cứ điều gì khác (.e.g *, +, /) nó vẫn phải sử dụng bit. Nếu sử dụng đa thức nhanh hơn trong mọi nguyên nhân, bạn có thể lấy giải pháp, chia thành bit và sau đó đa thức và làm cho nó nhanh hơn với mỗi lần lặp (thay vào đó tôi nghi ngờ nó sẽ chậm hơn mỗi lần). nhanh hơn, nhưng tôi không thể nghĩ ra được. –