Witam, mam na zaliczenie napisać program który mnoży zmienną int w = -63 przez 4 i dzieli przez 8za pomocą. Długo nie myśląc napisałęm taki kod (pod g++, ale błąd występuje również w dev-c++, nie testowałem w BC)
Kod: Zaznacz cały
#include <iostream>
int main() {
int w = -63;
int w1;
double w2;
w1 = w << 2;
printf("Zmienna w1 postaci dziesietnej w1 = %d postaci szestnastkowej w1 = %+#x
", w1, w1);
w2 = w >> 4;
printf("Zmienna w2 postaci dziesietnej w2 = %f postaci szestnastkowej w1 = %+#x
", w2, w2);
}
Postać dziesiętna jest wyświetlana poprawnie, szestnastkowa już nie (0xffffff04). Teraz pora na dzielenie, wchodzimy w tym zmiennoprzecinkowy. Wartość dziesiętna to -4, a szestnastkowa to zupełnie kosmos. Mogę sobie wypisać bit po bicie zmienną w2, ale czy to coś da? I jak napisać program?