Einzelnen Beitrag anzeigen

gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#1

das bit eines bytes auf 1 setzen

  Alt 1. Sep 2010, 19:09
hey,
ich versuche mich gerade an einem steganografie-programm (für die schule)
und ich komme einfach nicht mehr weiter ..

könnt ihr mir sagen, wie ich möglichst einfach & elegant ein bestimmtes bit eines bytes auf 1 setzen kann ?
wenn da ein string wäre könnte ich ja einfach machen :

Delphi-Quellcode:
i : integer ;

i[8] := 1 ;
oder sowas
aber das geht bei integer's ja nicht ...

ein bzw. das letzte bit auf Null zu setzen ist ja kein problem.
Da hab ich durch recherschieren herausgefunden, dass man einfach

Delphi-Quellcode:
i := i shr 1 ;
i := i shl 1 ;
machen kann und schon ist das letzte bit null
aber mit 1 geht das auch nicht ...

könnt ihr mir da helfen ?

(in einer facharbeit über steganografie hab ich das hier gefunden :
Delphi-Quellcode:
function setze(Value: Byte; Stelle: Byte): Byte;
begin
  case Stelle of
    1: Result:=Value or $80;
    2: Result:=Value or $40;
    3: Result:=Value or $20;
    4: Result:=Value or $10;
    5: Result:=Value or $08;
    6: Result:=Value or $04;
    7: Result:=Value or $02;
    8: Result:=Value or $01;
  else result:=0;
  end;
end;
aber ich versteh nicht was Value or $80 bedeuten soll...
ich weiß auch nicht, wie ich danach bei google suchen soll...
falls das der einfachste weg ist, könnt ihr mir erklären, was das bedeutet ? )


ich hoffe ihr könnt mir helfen ..


danke schonmal

Geändert von mkinzler ( 1. Sep 2010 um 19:17 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat