Mogao si makar da pogledas "top temu"
http://www.elitesecurity.org/tema/13455 koja objasnjava operacije nad bitovima u c/c++ - u.
Kako nisi napisao koji bajt konkretno treba da "otpadne", sledeci program trebao bi da ti objasni, kako se "izbacuju vrednosti" pojedinih bajtova.
Code:
#include <stdio.h>
int rol(int var0) {
int var1 = var0;
var0 <<= 8;
if (var1 & 0xff000000)
var0 |=0xff;
return var0;
}
int main() {
int var0 = 0x55555555, i, j;
char *rbr[4]={"prvog", "drugog", "treceg", "cetvrtog"};
for (i=0, j = 0xffffff00; i < 4; i++) {
printf("4b:%d bez %8s bajta: (mask:%u)%d\n", var0, rbr[i], j, var0&j);
j = rol(j);
}
return 0;
}
Nakon toga ako npr. hoces da prikazes neki broj bez cetvrtog bajta, dovoljno je napisati:
Code:
printf("%d\n", var0&ffffff);
ili npr. bez prvog
Code:
printf("%d\n", var0>>8);
E da, ovo je poslednji put, da nekome pisem program za "domaci zadatak", bez imalo pokazanog truda (kooda), koriscenja pretrage i citanja "top tema". Stavise "prag tolerancije" prema ovakvim temama, s moje strane, ce se znatno spustiti, nasuprot delu "es-tima" koji verovatno smatra da treba nastaviti sa dosadasnjom praksom.