Forum > Spanish

XOR ¿Como?

(1/3) > >>

mav:
Hola.¿Qué tal?
Tengo almacenada en una variable un numero indeterminado de enteros ( correspondientes a unos Char).
La pregunta es ¿Como puedo hacer 3 xor a estos enteros:
  Por ejemplo:
     
--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---       Resul          : integer;      ResultNuevo  := Resul  xor $1234;      OtroResult    := ResulNuevo xor $5678;      ResultFinal    := OtroResult xor  $8901;
  Saludos
   ¿SE pueden hacer XOR anidados?

Edson:
Hola.

No sé a qué te refieres con "anidados", pero podrías hacer ago así:


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---      ResultFinal := ((Resul  xor $1234) xor $5678) xor  $8901; 
Aunque la forma en que lo has escrito también funciona, y ayuda más en la depuración.

mav:
..si, se puede hacer así, pero como result es integer y es un número decimal, los operadores del xor los convertí a decimales
y la operación resultante es mayor en 1 al resultado que tendría que obtener (¿Será por alguna cuestión de redondeo?)
¿Cómo se soluciona esto?.
¿Cómo convierto ese result = integer,    (Número decimal) ,resultado de una operación, a Hexadecimal para probar si los xor con
hexadecimales dan el resultado correcto?
Si lo convierto con IntToHex obtengo =  Error: Operator is not overloaded: "AnsiString" xor "SmallInt", por eso operé con decimales
Saludos

mav:
..y una cuestión mas, la operación Xor, tiene que ser con signo,claro, porque el valor de resul puede ser negativo...(Culpa de las ññññ)
..o sea que el problema es convertir resul , a hexadecimal con signo.

Edson:

--- Quote from: mav on May 06, 2021, 10:30:14 pm ---..y una cuestión mas, la operación Xor, tiene que ser con signo,claro, porque el valor de resul puede ser negativo...(Culpa de las ññññ)
..o sea que el problema es convertir resul , a hexadecimal con signo.

--- End quote ---

Me has dejado más confundido.

¿Qué tienen que ver las "ññññ"? ¿Es que estás codificando caracteres en un integer? ¿Para qué? ¿Qué deseas obtener con un XOR?

Navigation

[0] Message Index

[#] Next page

Go to full version