![]() |
most significant bit gesetzt?
wie kann ich bei einem Integer ermitteln ob das erste Bit also das most significant bit gesetzt ist?
|
Re: most significant bit gesetzt?
Meinst du Bit 0 oder Bit 31?
Bit 0:
Delphi-Quellcode:
Bit 31:
Value and 1
Delphi-Quellcode:
(Value shr 31) and 1 {oder} Value and (1 shl 31)
|
Re: most significant bit gesetzt?
@dax: Er hat doch gesagt, dass er das MSB (most significant bit), also das 31. Bit auslesen will. ;-)
|
Re: most significant bit gesetzt?
Aber das "erste Bit" ist bei mir Bit 0 ;)
|
Re: most significant bit gesetzt?
Kommt drauf an, ob man von rechts oder von links zählt. Und ob man auf einer Intel-Architektur oder eine anderen ist :mrgreen:
Das MSB kriegt man aber immer mit
Delphi-Quellcode:
.
(Value shr 31) and 1
|
Re: most significant bit gesetzt?
Hmm.. dann reicht doch
Delphi-Quellcode:
Fällt mir grad erst auf, ein Integer hat doch gerade noch 32 Bit ;)
Value shr 31
|
Re: most significant bit gesetzt?
ja 0 bis 31
|
Re: most significant bit gesetzt?
Ich hab nur deinen Code kopiert, aber wenn dann
Delphi-Quellcode:
, schön
if (Value shr 31) = 1 then
Code:
geht leider nur in C ;-)
if (Value shr 31) { blubb(); }
|
Re: most significant bit gesetzt?
Das höchste Bit ist das Vorzeichen.
|
Re: most significant bit gesetzt?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz