Dzien dobry! Jestem początkujący. Program wypisuje 61, ale nie wiem dokładnie skąd się to wzięło. Proszę o pomoc :)
printf("%d", 021|054);
a)61 b)41 c)33 d) 75
A wiesz co oznacza |
?
Według tego co znalazłem w Internecie "|" oznacza bitową operację sumy. Nie wiem gdzie robię błąd w obliczeniach, bo wychodzi mi 75.
- Zapisz liczby binarnie
- Zsumuj pisemnie
- Zapisz dziesiętnie wynik
Edit: mea culpa, zapomniałem o tym feature z zapisywaniem ósemkowo...
021
i 054
są tutaj traktowane jako liczby systemu ósemkowego.
Filip Franciszek Maścibroda z Grzymysławic napisał(a):
Dzien dobry! Jestem początkujący. Program wypisuje 61, ale nie wiem dokładnie skąd się to wzięło. Proszę o pomoc :)
printf("%d", 021|054);
a)61 b)41 c)33 d) 75
Liczby zapisane 0x
sa traktowane jako zapis szesnastkowy, a z 0
na poczatku jako osemkowy.
021|054
----
2|5 = 7
1|4 = 5
=>
021|054 = 075
// oct to dec:
7 * 8 + 5 = 56 + 5 = 61
Swoją drogą zadania tego typu niczego sensownego nie uczą
@Filip Franciszek Maścibroda z Grzymysławic: a jak doszedłeś do swojego wyniku, 75? Bo nijak to interpretując nie mogę się domyślić. Chyba, że po prostu dodałeś 21+54=75?