operador ~

Iniciado por m@o_614, 22 Abril 2014, 23:21 PM

0 Miembros y 1 Visitante están viendo este tema.

m@o_614

Saludos

tengo una duda a acerca de si el operador  ~ que se usa para obtener el complemento a 1 de un numero, puede usarse solo con números decimales o si tambien los puede usar con numeros binarios??

ivancea96

A qué te refieres con números binarios? Si hablas del tipo "bool", sí, lo puedes usar.

amchacon

Hasta donde se, se puede usar con cualquier dato primitivo (float incluido).
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

Blaster

Cita de: amchacon en 22 Abril 2014, 23:44 PM
Hasta donde se, se puede usar con cualquier dato primitivo (float incluido).

Los operadores de bit solo trabajan con el tipo entero int, que puede ser de cualquiera de sus variantes (short, long, signed o unsigned) y enumeraciones
El complemento a uno es el unico operador unario los demas son todos binarios este operador lo que hace es invertir cada bit del número.

Saludos..

amchacon

Cierto, los floats no van.

Cita de: Blaster en 23 Abril 2014, 00:22 AMEl complemento a uno es el unico operador unario los demas son todos binarios este operador lo que hace es invertir cada bit del número.

Saludos..
¿Que hay de la negación lógica (!), de la indirreción (*), de la referencia (&), del sizeof y del delete? ;D
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

Blaster

Cita de: amchacon en 23 Abril 2014, 01:35 AM
¿Que hay de la negación lógica (!), de la indirreción (*), de la referencia (&), del sizeof y del delete? ;D
Exacto no supe expresarme bien, la afirmación la hice pensando unicamente en los operadores de bit

Saludos..

m@o_614

#6
gracias por sus respuestas, les preguntaba de este operador porque estoy haciendo un código en el que tengo una cadena tipo "01011001" y tengo sacarle el complemento a 1, o sea cambiar unos por ceros y ceros por unos. Yo pense que esto lo podia hacer con el operador ~, pero me dicen que es solo para enteros.

No se de que otra manera podria hacer esto, en el código lo que tengo al principio es una cadena que representa un número negativo como "-12"  y lo tengo que convertir a binario, primero lo tengo que convertir a numero (porque es una cadena) y después para obtener el binario de 5 digitos tengo que hacer el complemento a 1 primero y el complemento a dos despues, pero primero tengo que ir por pasos y sacar el complemento a 1.