LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

Вот суть, допили под себя

typedef struct
{uint8_t a0:1;
 uint8_t a1:1;
 uint8_t a2:1;
}byte_t;

typedef union
{byte_t  byte;
 uint8_t mask;
}byte_u;

uint8_t byte_t_to_uint8(byte_t  byte)
{ byte_t lb = {.byte=byte};
  return lb.mask;
}

byte_t uint8_to_byte_t(uint8_t value)
{ byte_t lb = {.mask=value};
  return lb.byte;
}

Исходная версия LINUX-ORG-RU, :

typedef struct
{uint8_t a0:1;
 uint8_t a1:1;
 uint8_t a2:1;
}byte_t;

typedef union
{byte_t  byte;
 uint8_t mask;
}byte_u;

uint8_t byte_t_to_uint8(byte_t  byte)
{ byte_t lb = {.byte=byte};
  return lb.mask;
}

byte_t uint8_to_byte_t(uint8_t value)
{ byte_t lb = {.mask=value};
  return lb.byte;
}