.I.2.M hìn hô

Một phần của tài liệu Kỹ thuật nén số liệu mã hóa Số học (Trang 39 - 41)

CHƯƠNG TRÌNH VÀ THỰC NGHIỆM

.I.2.M hìn hô

Ch ng trình th ûc hi ûn tr n ng n ng î C va chạy tr n h û đi uươ ư ê ê ô ư ì ê ê ề ha nh Linux. Do đó nó kh ng đ üc đẹp v mặt hình th ïc. ì ô ươ ề ư

.I.1.Mã hóa

Khi mã hóa du ng các thao tác di chuy n /c üng các s nguy n đì ể ô ố ê ể tính toán, v ïi đ ü chính xác th p đã đ üc ch p nh ûn, trong m üt va iơ ô ấ ươ ấ â ô ì c u trúc nó th ûc thi nhanh h n. M üt đặc đi m n i b ût cu a mã hóa laấ ư ơ ô ể ổ â í ì du ng s û chính xác rõ ra ng khi th ûc hi ûn. T ng t n s có th l n đ nì ư ì ư ê ổ ầ ố ể ê ế 30 bit (gia s ră ng s nguy n la 32 bit, hoặc h n n îa la n - 2 cho n bit cácí ử ò ố ê ì ơ ư ì s nguy n). T ng t n s có th có l n đ n giá trị r t l ïn laố ê ổ ầ ố ể ê ế ấ ơ ì 1.073.741.824 tr ïc khi các t n s c n pha i đ üc chia đ u. Giá trịươ ầ ố ầ í ươ ề ng m định cu a s bit du ng cho vi ûc đ m t n s la 27.ầ í ố ì ê ế ầ ố ì

.I.2.Mô hình

M hình t th ûc hi ûn vi ûc đọc va o dãy li n ti p các t va kh ngô ừ ư ê ê ì ê ế ừ ì ô t xen kẽ nhau. Sau khi đọc va o dãy các t va kh ng t nó đ a va oừ ì ừ ì ô ừ ư ì ba ng l ün x ün va să p x p lại chúng đ tìm s th ï t û t ng ïng cu aí ô ô ì õ ế ể ố ư ư ươ ư í s l üng các t đ g i đi cu ng v ïi ng î ca nh t ng đ ng cu a t vaố ươ ừ ể ử ì ơ ư í ươ ươ í ừ ì kh ng t . M üt ng î ca nh c t gi î t n s t ng ïng v ïi th ï t û cu a cácô ừ ô ư í ấ ư ấ ố ươ ư ơ ư ư í kí hi ûu. y la m hình minh họa các u đi m cu a cách th ûc hi ûnê Đâ ì ô ư ể í ư ê mã hóa m ïi khi du ng ba ng alphabet l ïn va s û thao tác cu a mmọt ng îơ ì í ơ ì ư í ư ca nh trong m üt ch ng trình ri ng lẽ.í ô ươ ê

KHOA CNTT - TVTĐ Nguyễn Mậu Nghĩa – Lớp

M üt m hình kí t û b ûc kh ng thích ïng la cái cụ th t ng đ ngô ô ư â ô ư ì ể ươ ươ đ minh họa vi ûc th ûc hi ûn cu a t ûp CACM. Tuy nhi n nó mang lại tyể ê ư ê í â ê í s nén th p.ố ấ

.I.3.Các mô đun

Ch ng trình đ üc vi t d ïi nhi u m đun khác nhau đ thu ûn l üiươ ươ ế ươ ề ô ể â ơ cho vi ûc theo dõi va s a l ùi, nó cũng đa m ba o cho ch ng trình đ ücê ì ử ô í í ươ ươ rõ ra ng h n. G m có ba y file ngu n (.c), năm file ti u đ (.h), m üt file mì ơ ồ í ồ ê ề ô ở r üng (.i) va m üt file Makefile.ô ì ô

main.c: th ûc hi ûn c ng vi ûc nh ûn các đ i s do ng l ûnh va th ûcư ê ô ê â ố ố ì ê ì ư hi ûn nén hay gia i nén.ê í

word.c: th ûc hi ûn c ng vi ûc x y d ûng m hình t .ư ê ô ê â ư ô ừ char.c: th ûc hi ûn c ng vi ûc x y d ûng m hình kí t û.ư ê ô ê â ư ô ư

bitio.c: ch ïa các ha m th ûc hi ûn vi ûc va o ra m ïc bit va m ïc byte.ư ì ư ê ê ì ở ư ì ư stats.c: ch ïa các ha m th ûc hi ûn vi ûc duy trì va tính toán t n sư ì ư ê ê ì ầ ố cu a các kí hi ûu.í ê

arith.c: ch ïa các ha m th ûc hi ûn vi ûc mã hóa va gia i mã các kíư ì ư ê ê ì í hi ûu.ê

hashtable.c: ch ïa các ha m h tr ü đ duy trì vi ûc chuy n đ i cácư ì ổ ơ ể ê ể ổ t trong ba ng l ün x ün tha nh các t có th ï t û.ừ í ô ô ì ừ ư ư

arith.h: định nghĩa các nguy n m ùu ha m th ûc hi ûn các c ng vi ûcê â ì ư ê ô ê trong arith.c.

stats.h: định nghĩa các nguy n m ùu ha m th ûc hi ûn các c ng vi ûcê â ì ư ê ô ê trong stats.c.

bitio.h: định nghĩa các macro th ûc hi ûn vi ûc va o ra m ïc bit vaư ê ê ì ở ư ì byte.

main.h: định nghĩa các nguy n m ùu ha m th ûc hi ûn các c ng vi ûcê â ì ư ê ô ê trong các m đun main.c, char.c, word.c.ô

hashtable.h: định nghĩa các nguy n m ùu ha m th ûc hi ûn các c ngê â ì ư ê ô vi ûc trong hashtable.cê

unroll.i: file m r üng th ûc hi ûn m ra các vo ng lặp th ûc hi ûn cácở ô ư ê ở ì ư ê đoạn ma.

Makefile: li n k t các m đun đ tạo t ûp th ûc thi đ th ûc hi ûn cácê ế ô ể ê ư ể ư ê c ng vi ûc.ô ê

.I.4.Cách dùng

Ch ng trình s dụng giao di ûn giao ti p chung cho ca hai quáươ ử ê ế í trình nén va gia i nén th ng qua vi ûc l ûa chọn các th ng s (th ûc tì í ô ê ư ô ố ư ế thì trong cu ng ch ng trình). K t qua đ a ra đ u ra chu n stdout.ở ì ươ ế í ư ở ầ ẩ N u kh ng chỉ định file đ u va o đ u va o sẽ l y d î li ûu t đ u va oế ô ầ ì ầ ì ấ ư ê ừ ầ ì chu n stdin. M üt trong các th ng s -e hoặc -d pha i đ üc chọn đẩ ô ô ố í ươ ể th ûc hi ûn vi ûc nén hay gia i nén.ư ê ê í

tìm hi u cách du ng thì gõ t n cu a ch ng trình th ûc thi.

Để ể ì ê í ươ ư

Cách du ng: ì

T n ch ng trình.exe [ -e [ -t s ][ -m n ]| [ -d ]| [ -v ][ filename1 ]ê ươ [ filename2 ] Trong đó: -e: chọn nén. -t: chọn m hình. Có m hình t va m hình kí t û. ô ô ừ ì ô ư -m: chọn gi ïi hạn kích th ïc b ü nh ï t 1 đ n 255 MB. Chỉ chọnơ ươ ô ơ ừ ế khi du ng m hình t .ì ô ừ -d: chọn gia i nén.í -v: đ a ra các th ng s cu a quá trình th ûc hi ûn nh : ty s nén,ư ô ố í ư ê ư í ố th i gian th ûc hi ûn, v.v...ờ ư ê

Filename1: la t n file c n nén hoặc gia i nén.ì ê ầ í

Filename2: la t n file l u k t qua nén hoặc gia i nén.ì ê ư ế í í

.II

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Kỹ thuật nén số liệu mã hóa Số học (Trang 39 - 41)