Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Bitweise rotieren
eruhenon - Do 15.05.08 13:25
Titel: Bitweise rotieren
Moin!
Ich versuche derzeit ein "circular shift" umzusetzen. Jedoch habe ich nur shl und shr gefunden aber bei diesen wird ja immer eine 0 nachgeschoben. Eine Idee von mir war nun die Zahl in binär umzurechnen, einen String daraus zu machen und dann die ersten Stellen abzuschneiden und hinten dranzufügen, aber das ist doch wirklich umständlich. Gibt es von Delphi keinen einfacheren Weg das umzusetzen? Ich suche also sowas wie ROR oder ROL aus Asm.
Danke schonmla für die Hilfe!
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Do 15.05.2008 um 14:30
jaenicke - Do 15.05.08 13:39
Du kannst Assembler ja auch mit Hilfe des Schlüsselworts asm direkt verwenden ;-).
eruhenon - Do 15.05.08 13:51
edit:// ich habs nu so gelöst:
Delphi-Quelltext
1: 2: 3: 4: 5:
| function ror(a,b:byte):byte; asm ror a, b return a; end; |
danke!
uall@ogc - Do 15.05.08 16:17
wenn du ein byte hast und es in delphi machen willst:
Delphi-Quelltext
1:
| b := (b shr 1) or (b shl 7) |
wenn ich mich net vertuhe :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!