integer an long integer übergeben

(Firma: fa. Seuffer) #923136
Lesenswert?

Hy Leute,
ich hab mal eine Frage zum Verständnis. ich will in meinem Programm eine 
singed integer an eine Long singned Integer übergeben. Und mache das 
derzeit so:

signed int a = 0;
long signed int b = 0;

a= IrgendeinWert;

....

b=a;


Ist das so richtig und wenn ja, ist in C definiert das die oberen Bits 
der long Integer die in dem Moment nicht benötigt werden mit 0 gefüllt 
werden, oder bleibt da der Wert stehen der vorher drin war??
Gibt es einen Möglichkeit die oberen noch "unbenötigten" bits der Long 
integer definiert auf null zu setzen und gleichzeitig die Variable zu 
zuweisen also so in etwa so

b = (highBits=0 und lowbits=a) //ist natürlich Pseudocode
#923142
Lesenswert?

Wenn Du einer Variable einen Wert zuweist und dieser Wert in die 
Variable hineinpasst, dann steht in der Ergebnisvariable hinterher genau 
das, was Du zugewiesen hast. Mit Nullen füllen ginge übrigens schon aus 
dem Grund nicht, dass es sich um vorzeichenbehaftete Werte handelt und 
dementsprechend Nullen u.U. tödlich wären (Zweierkomplement). Das 
signed kann man übrigens weglassen, ein int ist per Definition 
signed . Es muss nur angegeben werden, wenn es explizit unsigned 
sein soll.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren