elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  valor de Retorno
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: valor de Retorno  (Leído 2,623 veces)
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
valor de Retorno
« en: 1 Enero 2014, 17:40 pm »

Tengo este código: 

Código
  1. unsigned short cksum(struct ip *ip, int len){
  2.           long sum = 0;  /* assume 32 bit long, 16 bit short */
  3.  
  4.           while(len > 1){
  5.             sum += *((unsigned short*) ip)++;
  6.             if(sum & 0x80000000)   /* if high order bit set, fold */
  7.               sum = (sum & 0xFFFF) + (sum >> 16);
  8.             len -= 2;
  9.           }
  10.  
  11.           if(len)       /* take care of left over byte */
  12.             sum += (unsigned short) *(unsigned char *)ip;
  13.  
  14.           while(sum>>16)
  15.             sum = (sum & 0xFFFF) + (sum >> 16);
  16.  
  17.           return ~sum;
  18. }
  19.  

La linea que me interesa es esta:
Código
  1. return ~sum;

Mi pregunta es que tipo de que cambio ocasiona el símbolo ~, a la hora de hacer el retorno


En línea

<<<--Basura-->>>
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: valor de Retorno
« Respuesta #1 en: 1 Enero 2014, 17:55 pm »

Es el complemento a uno del número.

El complemento a uno es cuando en la expresión binaria se invierten las cifras: Se cambian los unos por ceros y los ceros por unos.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: valor de Retorno
« Respuesta #2 en: 2 Enero 2014, 18:25 pm »

Te refieres a si tengo estos bytes:

00001111

Al yo aplicar el complemento a uno cambiaran a:

11110000

En línea

<<<--Basura-->>>
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: valor de Retorno
« Respuesta #3 en: 2 Enero 2014, 22:50 pm »

En efecto ;)
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda] Valor de retorno main
Programación C/C++
apoeti 3 3,412 Último mensaje 12 Septiembre 2012, 16:16 pm
por apoeti
Como procesa la maquina o el programa el valor de retorno??
Programación General
FKT 6 2,680 Último mensaje 9 Septiembre 2015, 16:43 pm
por FKT
Listas - ¿Cómo enfocaríais el valor de retorno de las búsquedas?
Programación C/C++
do-while 4 2,406 Último mensaje 5 Enero 2017, 13:17 pm
por ivancea96
Ayuda funciones con retorno de valor en C
Programación C/C++
omegadei 2 1,866 Último mensaje 21 Marzo 2018, 20:04 pm
por omegadei
Obtener valor de retorno de una función antes de preprocesar
Programación C/C++
Skali 6 2,476 Último mensaje 30 Julio 2018, 03:26 am
por Skali
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines