[c] länge finden ohne sizeof

Piesbruhder

Mitglied
Hallo Freunde,
Ich hab mal wieder ne Frage. Ich hab eine kleine Aufgabe
bekommen. Folgendes :

wie finde ich die länge des typs 'long int' heraus, jedoch ohne den
sizeof-operator zu benutzen(lediglich bitschiebeoperatoren sind
erlaubt)?
ich glaub das geht irgendwie mit '>>' oder '<<'

Hoffentlich könnt ihr mir wie immer helfen und danke fürs lesen! =)
 
Zuerstmal musst du sicherstellen, dass die Variable voll mit True ist, dann kannst du nachzählen wie oft du nach rechts verschieben kannst bis False rauskommt.

Wenn du eine keine Ahnung has wie du alle Stellen auf True bekommst (sprich die Normen zur Binaerdarstellung der Zahlen nicht verwenden darfst) - was passiert, wenn ich in eine 8bit-Variable True 9x nach links verschiebe? Bekomm ich dann je wieder ein True zurück wenn ich wieder nach links schiebe?


Auch interessant: unter welchen Umständen ist das Komplement einer Variable False? In Verbindung mit einer Schleife bist du einer der Lösungen deiner Aufgabe schon recht nahe.


Sei einfach ein bisschen kreativ... ;-)
 

Neue Beiträge

Zurück