Wpis z mikrobloga

#cpp a bardziej #c
Taka rozkmina...
Skoro int w C99 ma zakres -127:+127
Jesli mamy:
struct {
int i:1
}x;
to:
x.i ma zakres 0:0.

W praktyce x.i ma zakres -1:0.

#funfact
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dupasmoka: Głównie to zależy od implementacji kompilatora i o ile się orientuje we wszystkich zakres jest -1:0. Ale mogę się mylić. Jak ktoś ma jakieś fajne materiały na ten temat to chętnie poczytam :)
  • Odpowiedz
@simia: porównujesz standard do tego co wypluje kompilator - nie robiłbym tego ( ͡° ͜ʖ ͡°) jest to zależne od implementacji, to jest minimalny zakres jaki powinien być obsługiwany (przykładowo przez U1, wtedy mamy zero dodatnie i zero ujemne).
W praktyce char jest zwykle zapisany na 8 bitach w systemie U2, co daje zakres -128 : +127.
  • Odpowiedz