¿Cómo usar la calculadora de programación en OS X?

6

Estoy tratando de sacar lo mejor de la calculadora de programación en OS X, pero no conozco estas funciones:

  • cambio de bytes
  • palabra voltear
  • X <
  • X > > Y
  • RoL / RoR (son solo sll / srl?)

¿También es posible realizar un complemento a dos en un rango más estrecho, es decir, 16 bits en lugar de 64 bits?

    
pregunta maregor 21.12.2014 - 23:59

2 respuestas

6

Flipping

El cambio de bytes y el cambio de palabras intercambiarán bytes o palabras. Técnicamente funciona así:

Supongamos que tenemos un valor de dos bytes (hexadecimal): 0x3344

El número consta de dos bytes, el más bajo es 0x44 y el más alto es 0x33, por lo que vamos a ponerlos en dos celdas imaginarias de un tamaño de un byte:

[33][44]

Ahora, voltea las celdas:

[44][33]

Por lo tanto, el valor de byte volteado será 0x4433

Igual que con las palabras, considerando que la palabra consta de dos bytes. Supongamos que tenemos un valor de dos palabras: 0x12345678

Divídalos en dos celdas imaginarias, que ahora contienen una palabra (2 bytes) cada una:

[1234][5678]

Ahora, voltea las celdas:

[5678][1234]

Por lo tanto, el valor invertido de la palabra será 0x56781234

Shifting

Desplazando los valores de los desplazamientos a modo de bit. ¿Qué significa?

Tomemos un número decimal muy simple: 5 Entonces, vamos a convertirlo a su representación binaria: 101 Entonces, vamos a desplazarlo hacia la izquierda por 1:

[101] << [1010]

Básicamente, movimos toda la secuencia binaria, dejamos una posición y llenamos el espacio vacío con cero.

Ahora haga lo mismo, pero con el desplazamiento hacia la derecha:

[101] >> [010]

nuestro número es 10 ahora. El 1 inferior se pierde moviendo a la derecha. El cero de la izquierda es solo para mostrar y no tiene valor. // Técnicamente hay un indicador de CPU que indica que se perdió el bit, pero no es relevante para la calculadora.

Rotating

La rotación funciona absolutamente igual que cambiar con una excepción: los bits nunca se pierden. Entonces, tomamos el mismo valor decimal 5 y su representación binaria 101. Luego lo rotamos dentro de un byte:

[00000101] ROR [10000010]

Como puede ver, el [1] que se perdió en el derecho de desplazamiento se realizó al principio de nuestro byte.

Lo mismo con el desplazamiento a la izquierda, vamos a realizar series de rotaciones de 1 bit a la izquierda hasta que tengamos un bit:

[00000101] ROL [00001010]
[00001010] ROL [00010100]
[00010100] ROL [00101000]
[00101000] ROL [01010000]
[01010000] ROL [10100000]
[10100000] ROL [01000001]
    
respondido por el Rilakkuma 22.12.2014 - 04:29
1
  • byte flip / word flip - no estoy seguro acerca de estos
  • X<<Y / X>>Y - bitshift X a la izquierda / derecha Y veces
  • RoL / RoR : gire a la izquierda / derecha, similar a bithifing, excepto que los bits se envuelven de forma circular
respondido por el Alexander 22.12.2014 - 00:49

Lea otras preguntas en las etiquetas