# How can I implement Bluetooth Low Energy CRC in 24 bits?

According to the Bluetooth Core 4.0 specification, the Bluetooth Low Energy air packet has a 24-bit CRC with the following polynomial:

x^24 + x^10 + x^9 + x^6 + x^4 + x^3 + x + 1


But, when I "encode" this polynomial, I get 4 bytes:

XXXXXXX1 00000000 00000110 01011011


What am I missing?

• Wouldn't x24 through x0 be 25 bits? – Ignacio Vazquez-Abrams Nov 13 '13 at 2:42
• @IgnacioVazquez-Abrams I also think so, but the specification explicitly says that the CRC has 24 bits and my radio module, which is Bluetooth Low Energy "compliant", has a CRC field with exactly 24 bits. – borges Nov 13 '13 at 2:47
• Do they show any example messages, including the CRC? – Ignacio Vazquez-Abrams Nov 13 '13 at 2:58