Ich versuche zu verstehen, wie "signed Integer" und "arithmetische Linksverschiebung" in Swift und iOS funktioniert.signed Integer, arithmetische Verschiebung nach links
In dem Buch, schneller Programmiersprache 3.0, heißt es
ich es mit dem folgenden Code ausprobiert:
ich mit Signed Integer verstehen, Binärdarstellung von -120 ist 10001000, also würde eine Verschiebung nach links zu 00010000 führen, was gleich 16 ist (wie durch den Code gezeigt). Aber 16 ist nicht doppelt von -120
die Aussage des Buches ist falsch, oder? oder gibt es etwas, das mir fehlt?
Das hängt alles davon ab, welche Art von Integer Sie verwenden. Versuchen Sie, 'negative120' in eine Swift Integer anstelle von' Int8' wie 'let negative120: Int = -120' zu ändern, und Sie werden feststellen, dass sich der Wert verdoppelt. – Pierce