¿Por qué el siguiente código muestra 128?Comportamiento de impresión extraño en PHP?
<?php
print 4 << 5;
?>
¿Por qué el siguiente código muestra 128?Comportamiento de impresión extraño en PHP?
<?php
print 4 << 5;
?>
Porque es una bitwise operator. Creo que significa 4 multiplicado a 2^5 porque ese operador significa
Shift los bits de $ a, $ b pasos a la izquierda (cada paso quiere decir "multiplicar por dos")
tan son cinco pasos. Son 4 * 2 * 2 * 2 * 2 * 2 (Pero estoy adivinando aquí, todo sucede a nivel de bit).
Gracias Nicola.Nice Explicación – yogeshK
Consulte Bitwise Operators:
Tenemos que encontrar 4 < < 5. Significa cambiar los bits de 4
5 veces a la izquierda:
4 is 00000000000000000000000000000100
4 << 5 after shifting is 00000000000000000000000010000000
00000000000000000000000010000000 is 2^7 = 2*2*2*2*2*2*2 = 128
+1 para el ejemplo. Me recuerda que tengo que aprender cómo funcionan * los operadores bit a bit *. :) –
@AmalMurali gracias hermano. :) – mithunsatheesh
http://php.net/ manual/es/language.operators.bitwise.php –
Consulte el manual de operadores bit a bit: http://www.php.net/manual/en/language.operators.bitwise.php – ghkaren