[ create a new paste ] login | about

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

C, pasted on Oct 26:
#include <stdio.h>
#include <limits.h>

#define bindump(ptr, size) ({ \
    unsigned long n = (size) * CHAR_BIT; \
    while ( n ) \
        printf("%d", ( *(ptr) >> --n ) & 1); \
})

int main(void) {
    char c1 = 1, c2 = -1;
    int i1 = 1, i2 = -1;
    long l1 = 1L, l2 = -1L;
    unsigned long ul = 1UL;
    long long ll1 = 1LL, ll2 = -1LL;
    unsigned long long ull = 1ULL;
    
    printf("C1: ");
    bindump(&c1, sizeof(char));
    printf("\nC2: ");
    bindump(&c2, sizeof(char));
    printf("\nI1: ");
    bindump(&i1, sizeof(int));
    printf("\nI2: ");
    bindump(&i2, sizeof(int));
    printf("\nL1: ");
    bindump(&l1, sizeof(long));
    printf("\nL2: ");
    bindump(&l2, sizeof(long));
    printf("\nUL: ");
    bindump(&ul, sizeof(long));
    printf("\nLL1: ");
    bindump(&ll1, sizeof(long long));
    printf("\nLL2: ");
    bindump(&ll2, sizeof(long long));
    printf("\nULL: ");
    bindump(&ull, sizeof(long long));
    printf("\n");
    
    return 1;
}


Output:
1
2
3
4
5
6
7
8
9
10
C1: 00000001
C2: 11111111
I1: 00000000000000000000000000000001
I2: 11111111111111111111111111111111
L1: 00000000000000000000000000000001
L2: 11111111111111111111111111111111
UL: 00000000000000000000000000000001
LL1: 0000000000000000000000000000000000000000000000000000000000000001
LL2: 1111111111111111111111111111111111111111111111111111111111111111
ULL: 0000000000000000000000000000000000000000000000000000000000000001


Create a new paste based on this one


Comments: