Forum > Spanish
XOR ¿Como?
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