Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Bitmanipulation in C





Frage

Hallo, wie kann ich das MSB einer int-Zahl mit Hilfe von Bitmanipualtionen ausblenden. Größe der int-Zahl ist nicht bekannt! Sandra

Antwort 1 von semi

Zuerst das Byte nach links "rausschieben", MSB wird dabei gelöscht, dann alles wieder zurück.

#include <stdio.h>

int main() {
  unsigned int n=0xBF823456;
  printf("original  : %x\n", n);
  n = n << 8;
  printf("nach SHL 8: %x\n", n);
  n = n >> 8;
  printf("nach SHR 8:   %x\n", n);
  return 0;
}
Beim Ergebnis ist das MSB (10111111b=BFh) nicht mehr vorhanden.

Gruß,
Michael