math.c 480 B

1234567891011121314151617
  1. #include "math.h"
  2. uint64_t subghz_protocol_blocks_reverse_key(uint64_t key, uint8_t count_bit) {
  3. uint64_t key_reverse = 0;
  4. for(uint8_t i = 0; i < count_bit; i++) {
  5. key_reverse = key_reverse << 1 | bit_read(key, i);
  6. }
  7. return key_reverse;
  8. }
  9. uint8_t subghz_protocol_blocks_get_parity(uint64_t key, uint8_t count_bit) {
  10. uint8_t parity = 0;
  11. for(uint8_t i = 0; i < count_bit; i++) {
  12. parity += bit_read(key, i);
  13. }
  14. return parity & 0x01;
  15. }