DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > Bit von Word extrahieren | [ - Search - New posts - Register - Login - ] |
1 -2- | [ - Post reply - ] |
2006-06-12, 23:13 h DariusBrewka Posts: 899 [Banned user] |
Zitat: Jain, ich meinte nicht das ein * (2^bitN) schneller als LSL bitN ist, sondern daß das einsetzen des direkten Wertes einer Verschiebeop. schneller ist als ein LSL bitN, d.h. ein AND 0x80 schneller als ein AND (1 LSL 7) ist, das mit * oder / ist nur eine andere Darstellung von LSL oder LSR, da die Verschiebung Konstant ist (soweit ich es Verstanden habe) wird jeder Vernünftige Compiler ein / 2 ^ bitN durch ein LSR bitN ersetzen. Zitat: wie gesagt für mich kam heraus das bitN Konstant ist und dann verstehe ich nicht, warum ich nicht den Wert direkt einsetze und stattdessen ein Bit Verschiebe, wenn nicht kann man auch ein Array machen, wo jedes Feldelement einem Bitwert entspricht oder oder oder. Wie gesagt ist mir nicht ganz Klar was gemacht werden soll. [ - Answer - Quote - Direct link - ] |
2006-06-13, 08:30 h Holger Posts: 8116 User |
Zitat: Wenn der Compiler "vernünftig" genug ist, x/2^n durch x>>n zu ersetzen, sollte er auch vernünftig genug sein, diesen konstanten Ausdruck als konstanten Wert zu übersetzen. In diesem Fall wäre also 1<<7 nicht langsamer als 0x80. Und wenn n keine Konstante ist, sind Compiler nicht so "vernünftig", da n Werte kleiner als 0 oder größer als die Bitanzahl des Datentyps annehmen könnte. In diesem Fall liefern die beiden Operationen nämlich unterschiedliche Ergebnisse. Da hilft nur die explizite Verwendung des shift-Operators, wenn dieser das richtige tut. Und dann ist er auch schneller. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
1 -2- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Bit von Word extrahieren | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |