c_cpp C中的位移实践

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp C中的位移实践相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include <limits.h>
// Bit shifting practice in C

void showbits(unsigned int x) {
    for(int i = (sizeof(int) * 8) - 1; i >= 0; i--) {
       (x & (1u << i)) ? putchar('1') : putchar('0');
    }
    printf("\n");
}

int main(void) {
  printf("Char bit size is %u\n", CHAR_BIT);
  unsigned int a = 2000;
  int count = sizeof(unsigned int) * CHAR_BIT;
  printf("bits of unsigned int is %d\n", count);
  // Shows representation as bits are shifted.
  for(int i = 0; i < count;i++) {
    printf("(shifted %d bits) ", i);
    showbits(a >> i);
  }
  return 0;
}

以上是关于c_cpp C中的位移实践的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp C中的分配实践

c_cpp 热身动态编程实践

C 中的位移是不是仅适用于 32 位块

csharp C#中的位移运算符示例。

csharp C#中的位移运算符示例。

C语言中位移位运算符?