пятница, 27 мая 2022 г.

Вывод на экран значения числа в битовом виде в Си


#include <stdio.h
#include <stdint.h
#include <limits.h

#define BIT_PRINT(VALUE)                                    \
{                                                           \
    for(int i = sizeof(VALUE) * CHAR_BIT - 1; i >= 0; --i)  \
    {                                                       \
        printf("%c", ((VALUE) & (1LU << i)) ? '1' : '0');   \
    }                                                       \
    printf("\n");                                           \
}

#define BIT8_PRINT(VALUE)  BIT_PRINT((uint8_t )VALUE)
#define BIT16_PRINT(VALUE) BIT_PRINT((uint16_t)VALUE)
#define BIT32_PRINT(VALUE) BIT_PRINT((uint32_t)VALUE)
#define BIT64_PRINT(VALUE) BIT_PRINT((uint64_t)VALUE)

int main()  
{
    BIT8_PRINT(0x03);
    BIT16_PRINT(0x03);
    BIT32_PRINT(0x03);
    BIT64_PRINT(0x03);

    return 0;
}

Комментариев нет:

Отправить комментарий