[ create a new paste ] login | about

Link: http://codepad.org/f8POt06D    [ raw code | fork ]

C, pasted on Oct 25:
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

#define N 1024
int main()
{
  char buff[N], bit[sizeof(unsigned int) * 8];
  unsigned int n;
  int i, j, bit0, bit1;
  assert(sizeof(unsigned int) == 4);

  printf("input an integer: ");
  fgets(buff, N, stdin);
  n = atoi(buff);
  for (i = sizeof(unsigned int) * 8 - 1; i >= 0; --i) {
    if (n % 2 == 1)
      bit[i] = 1;
    else
      bit[i] = 0;
    n = n / 2;
  }
  j = 0;
  for (i = 0; i < sizeof(unsigned int) * 8; i++) {
    printf("%d", bit[i]);
    if (++j > 3) {
      putchar(' ');
      j = 0;
    }
  }
  putchar('\n');
  for (i = 0, bit0 = bit1 = 0; i < sizeof(unsigned int) * 8; i++) {
    if (bit[i])
      bit1++;
    else
      bit0++;
  }
  printf("bit = 0: %d\n", bit0);
  printf("bit = 1: %d\n", bit1);
  return 0;
}
/* end */


Create a new paste based on this one


Comments: