// Elias Delta – universel kode, der er mere effektiv end Gamma for større heltal
Mere effektiv end Elias Gamma for n > 3.
Virker for alle positive heltal uden ekstra parametre.
Bruger log₂(n) + 2log₂(log₂(n)) + 1 bits.
Elias Delta koder et positivt heltal n i tre dele: 1) Find L = ⌊log₂(n)⌋ + 1 (bitlængde), 2) kod L med Elias Gamma, 3) tilføj de sidste L−1 bits af n. Denne dobbelt-logaritmiske vækst gør Delta mere effektiv end Gamma for større tal og bevarer koden universel.
n=1: L=1, Gamma(1)='1', bits='', Delta='1' n=2: L=2, Gamma(2)='010', bits='0', Delta='0100' n=3: L=2, Gamma(2)='010', bits='1', Delta='0101' n=4: L=3, Gamma(3)='011', bits='00', Delta='01100' n=16: L=5, Gamma(5)='00101', bits='0000', Delta='001010000' Sammenlign længder: n | Gamma | Delta | Besparelse 1 | 1 | 1 | 0 16 | 9 | 9 | 0 100 | 13 | 12 | 1 1000 | 19 | 16 | 3
Elias Delta er en forbedring af Elias Gamma, hvor længden af tallets binære repræsentation først kodas med Gamma, hvorefter de resterende bits tilføjes. Den bruger cirka log₂(n) + 2log₂(log₂(n)) + 1 bits og er derfor mere effektiv for større heltal.
Gamma bruger 2⌊log₂(n)⌋ + 1 bits, mens Delta bruger log₂(n) + 2log₂(log₂(n)) + 1 bits. Delta er bedre for n > 3, og besparelsen vokser for større tal. For meget små værdier (1–3) er de nogenlunde ens.
Brug Delta, når dine data hovedsageligt består af heltal > 3. For meget små heltal (1–2) kan Gamma være en anelse bedre. For meget store tal kan Elias Omega være et bedre valg, da den forbedrer Delta yderligere.
Delta er et kompromis. Gamma er den enkleste, men mindst effektive. Delta forbedrer komprimeringen. Omega er bedst til meget store tal, men også mest kompleks. Vælg efter datadistribution og implementationskrav.