Arsip: pergeseran bit biner gimana caranya ?

 
user image
more 14 years ago

putu_niki

saya mau tanya gimana cara mengeser bit biner pada delphi? contohnya: $fa digeser dua bit binernya $fa = 11111010 digeser 2 bit kekanan menajdi 10111110 = $be jika digeser 2 bit kekiri menjadi 11101011= $eb yang menjadi masalah, ketika nilai hexa decimal yang digeser sebanyak 8 karakter. jika binerkan nilainya sebanyak 32 karakter contoh fafafafa = 11111010111110101111101011111010 digeser sebanyak n bit. Bagaimana caranya kode dengan delphi ? Thank be4
user image
more 14 years ago

ImanD

cobain pke perintah SHL n SHR
user image
more 14 years ago

putu_niki

udah, cuma pergeserannya, kan hilang. maklum saya masih pemula. misalkan, saya geser $fa = 1111 1010 digeser 2 bit kekanan, menjadi 0011 1110 (hasilnya tidak sesuai) seharusnya 1011 1110 Please help urgent. Thank you
user image
more 14 years ago

deLogic

oh maksudnya diputar? jadi bit2 yg digeser, ditaruh di bagian depan (untuk geser kanan) atau di belakang (untuk geser kiri)? kalo maksudnya itu, kayaknya istilahnya ROL atau ROR, kalo di assembly ada, tapi kalo di Delphi, secara built in mungkin tidak ada. Alternatif solusi - cari snipet code di internet... - bikin fungsi sendiri, penegmbangan dari shift register (shl dan shr) - bikin fungsi sendiri, sisipkan penggunaan assembly mungkin solusi no 3 lebih cocok. CMIIW.
user image
more 14 years ago

ImanD

ups dah dijawab tuh am deLogic.......
@deLogic: oh maksudnya diputar? jadi bit2 yg digeser, ditaruh di bagian depan (untuk geser kanan) atau di belakang (untuk geser kiri)? kalo maksudnya itu, kayaknya istilahnya ROL atau ROR, kalo di assembly ada, tapi kalo di Delphi, secara built in mungkin tidak ada. Alternatif solusi - cari snipet code di internet... - bikin fungsi sendiri, penegmbangan dari shift register (shl dan shr) - bikin fungsi sendiri, sisipkan penggunaan assembly mungkin solusi no 3 lebih cocok.
ni ada beberapa function yg mungkin membantu......

function ROL(Value: LongWord; Shift: Integer): LongWord; assembler;
asm
       MOV   ECX,EDX
       ROL   EAX,CL
end;
function ROLADD(Value, Add: LongWord; Shift: Integer): LongWord; assembler;
asm
       ROL   EAX,CL
       ADD   EAX,EDX
end;
function ROLSUB(Value, Sub: LongWord; Shift: Integer): LongWord; assembler;
asm
       ROL   EAX,CL
       SUB   EAX,EDX
end;
function ROR(Value: LongWord; Shift: Integer): LongWord; assembler;
asm
       MOV   ECX,EDX
       ROR   EAX,CL
end;
function RORADD(Value, Add: LongWord; Shift: Integer): LongWord; assembler;
asm
       ROR  EAX,CL
       ADD  EAX,EDX
end;
function RORSUB(Value, Sub: LongWord; Shift: Integer): LongWord; assembler;
asm
       ROR  EAX,CL
       SUB  EAX,EDX
end;
user image
more 14 years ago

ivan

Adududududududuh.... ASM nich.... ampun dah ilmu ane belum ampe situ (Hiii seremmmm)
user image
more 14 years ago

putu_niki

Mas ImanD bisa dikasi penjelasan nggak saya tentang fungsi diatas. Saya bingung maklum masih pemula alias (OnBeginner). Atau temen yang lain bisa ngasi saran nggak untuk solusi yang lebih ringan. Terima Kasih sebelumnya ya atas sarannya.
user image
more 14 years ago

ImanD

@putu_niki penjelasan sedikit

// Result := Value shl Shift or Value shr (32 - Shift)
function ROL(Value: LongWord; Shift: Integer): LongWord;
// Result := ROL(Value, Shift) + Add
function ROLADD(Value, Add: LongWord; Shift: Integer): LongWord;
// Result := ROL(Value, Shift) - Sub
function ROLSUB(Value, Sub: LongWord; Shift: Integer): LongWord;
// Result := Value shr Shift or Value shl (32 - Shift)
function ROR(Value: LongWord; Shift: Integer): LongWord;
// Result := ROR(Value, Shift) + Add
function RORADD(Value, Add: LongWord; Shift: Integer): LongWord;
// Result := ROR(Value, Shift) - Sub
function RORSUB(Value, Sub: LongWord; Shift: Integer): LongWord;
mudah2an memberikan pencerahan
user image
more 14 years ago

gust4m4n

Ya, betul sekaleee kata saudara ImanD. :D
user image
more 14 years ago

putu_niki

Thank Mas ImanD, semoga saya bisa mengerti. Kalau ada yang lebih ringan saya tunggu. Jujur aja mas saya lagi coba buat enkripsi pakai NOEKEON. Terima Kasih. Kalau boleh bisa diskusi lewat email nggak ?
more ...
  • Pages:
  • 1
  • 2
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com