Törvény
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2013. március 13-án áttekintett
verziótól ; az ellenőrzések 9 szerkesztést igényelnek .
Az A-törvény egy veszteséges tömörítési algoritmus, amelyet hangadatok tömörítésére használnak
.
Megvalósítások 16 bites előjeles egész számokhoz
A kódolás elve hasonló a lebegőpontos számok kódolásához . Minden minta egy 8 bites mezőbe van kódolva. A legjelentősebb bit az előjelbit, a következő 3 bit az előjel nélküli kitevő , az utolsó 4 bit pedig a mantissza . Így a felhasznált 16 bitből csak 12 bit tartalmaz értelmes információt, és a 16-ból 4 bitet néha eldobnak.
1. lépés
Ha a szám negatív, akkor megfordítja , és feltételezzük, hogy s = 0, ellenkező esetben s = 1.
2. lépés
A 16 bites szám 8 bites számmá alakul az alábbi táblázat szerint. Az érthetőség kedvéért a nibbles - nibbles - egy backtick (`) választja el ; s az előjel bit; A csillagok a tömörítés során elveszett biteket jelölik.
eredeti szám |
összenyomva
|
s000`0000`wxyz`**** |
s000`wxyz
|
s000`0001`wxyz`**** |
s001`wxyz
|
s000`001w`xyz*`**** |
s010`wxyz
|
s000`01wx`yz****** |
s011`wxyz
|
s000`1wxy`z***`**** |
s100`wxyz
|
s001`wxyz`****`**** |
s101`wxyz
|
s01w`xyz*`****`**** |
s110`wxyz
|
s1wx`yz**********`**** |
s111`wxyz
|
3. lépés
A bitek megfordítása az egyiken keresztül történik, a jobb széltől kezdve (azaz egy 8 bites szám XORed 0x55).
Példák
Az alábbi példákban az alsó index jelzi a bitmélységet ( tizedes vagy bináris ); az 1. lépésben a mantissza aláhúzásra kerül (a számjegyek egy része, amely a 2. lépésben wxyz -be változik).
1. példa
666 10 = 0000`0010`1001`1010 2
1. lépés: Előjel bit s = 1: 0000`001 0`100 1`1010 2
2. lépés: Maga a tömörítés (s001`wxyz-nek felel meg): 1010`0100 2
3. lépés: Invertálás: 1111`0001 2 = F1 16 = 241 10 .
2. példa
-6666 10 = 1110`0101`1111`0110 2
1. lépés: Fordítsa meg a számot, s jel bitje = 0: 0001` 1010 `0000`1001 2
2. lépés: Maga a tömörítés (megfelel az s011`wxyz-nek): 0101`1010 2
3. lépés: Fordítás: 0000`1111 2 =15 10
Lásd még