01/10/2018, 01:12

Quay bit lập trình C

Em làm cái phép quay bit này có quá tệ!

  • Quay 1 lần: P0 = ((P0 & 0x80) >> 7) + (P0 << 1);

mấy bạn chuyên về lập trình nhúng cho em ý kiến vs có thuật toán hay thì cho em với!

rogp10 viết 03:22 ngày 01/10/2018

Người ta viết xoay 1 bit trái tổng quát nó ntn:

r = (r << 1) | (r >> (sizeof(r) * 8 - 1)) với r là unsigned. Thực ra phép or nó hay hơn phép +, với lại compiler đọc là hiểu nên sẽ thay bằng lệnh máy.

nghia viết 03:22 ngày 01/10/2018

cảm ơn bạn nhiều!

Bài liên quan
0