16+
Понедельник
17 июня
Вход |Карта сайта |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Средства и методы разработки

 
Новая темаПравила РегистрацияСтатистика Архив
Вернуться в конференциюТопик полностью
ЫЫукпу  (11.02.2019 11:40 - 11.02.2019 12:14) , в ответ на Это из стандарта вынуто или народ уже в процессе юзания компилеров находит такие веселухи? автор: Codavr
Это из INCITS/ISO/IEC 9899-2011[2012], раздел 6.7.2 Type specifiers, пункт 5. 
Проверил в IAR, поле .i таки считается беззнаковым :)
    struct{
        int i:4;
        unsigned int ui:4;
        signed int si:4;
        bool b:4;
    } s;
    s.i = -1;
    s.ui = 0x0f;
    s.si = -3;
    s.b = -1; // а в поле .b заносятся биты 0001
    printf(".i:%08x .ui:%08x .si:%08x .b:%08x\r\n", s.i, s.ui, s.si, s.b);
печатает
.i:0000000f .ui:0000000f .si:fffffffd .b:00000001
Дополнил:
printf("s:%08x\r\n", *(uint32_t*)&s );
печатает
s:00001dff
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX