Seperti yang diketahui kebanyakan orang di sini, dengan menggunakan 4 bit, kami dapat menghitung dari 0 hingga 15 (0123456789ABCDEF dalam heksadesimal). Tetapi jika kita hanya menghitung hingga 9, kita masih akan menggunakan 4 bit, dan digit dari A sampai F akan terbuang sia-sia.
Namun, halaman QR-Code Wikipedia menyatakan bahwa hanya menggunakan angka numerik dari 0 hingga 9 menggunakan 3⅓ bit per karakter, yang benar dari titik statistik. Namun sepertiga dari sedikit bukanlah objek fisik, dan mengirim angka dari 0 hingga 9 menggunakan setidaknya 4 bit untuk pengetahuan saya.
Apakah ada cara untuk menggunakan kombinasi yang terbuang untuk secara efektif mengirim karakter dengan fraksi bit?
OK, izinkan saya memberi contoh: Dua digit "27" harus dikirim. Dengan teknik pengkodean normal, bit yang dikirim adalah 00100111. Kita dapat membayangkan sebuah sistem yang akan menggantikan digit '2' dengan digit 'E' atau 'F', tergantung pada bit berikutnya; dalam hal ini bit berikutnya adalah 0, sehingga '2' diganti dengan 'E'. Bit-string yang dihasilkan kemudian akan menjadi 1101 0 111. Di sisi lain jika digit "28" harus dikirim, bit pertama setelah '2' adalah 1, jadi itu diganti dengan digit 'F' sebagai gantinya, menghasilkan string 1111 1 000.
Dalam kedua kasus, ekonomi 1 bit telah dipengaruhi, karena satu nibble digunakan untuk dua karakter yang berbeda. Dengan kata lain, tiga setengah bit digunakan pada setiap karakter.
(10 * first_digit) + second_digit
dan menyandikannya menjadi 7 bit, mewakili 0 ... 99, dengan kode 100-127 tersisa untuk hal-hal lain. Dan ada lebih banyak penghematan dengan 3 digit dikompresi menjadi 10 bit.