Ich habe Code in malloc.c Implementierung gefunden, kann mir bitte jemand sagen was wird dieser Code tatsächlich tun:vereinfachte Version von return ((union {float v; uint32_t r;}) {(int) x} .r >> 21) - 496
return ((union { float v; uint32_t r; }){(int)x}.r>>21) - 496
ich habe einige Suche und fand, dass es integer zu IEEE 754 Punkt wandelt schwimmend, aber ich bin nicht in der Lage zu verstehen, wie es funktioniert. Kann mir bitte jemand helfen, es in mehreren Schritten zu verstehen?
Wie viel davon verstehen Sie? Ist die Bitverschiebung und die Subtraktion von 496 der Teil, der dich verwirrt? (Ich mag diese Frage, übrigens. Ich bin nicht sicher, ob es am Thema ist, aber ich finde es interessant. :)) –
@student Sie wollen uns sagen, welcher Typ x ist ('size_t', denke ich) und was die Rückkehr Typ der Funktion ist ("Int" wäre meine Vermutung hier). Ansonsten kann Ihre Frage nicht beantwortet werden. – tofro