Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Una duda sobre un codigo

Estas en el tema de Una duda sobre un codigo en el foro de C/C++ en Foros del Web. Este ciclo eh tenido programación en la universidad Y leyendo mi libro, encontré un código que no entiendo, en si una pequeña parte en resumen ...
  #1 (permalink)  
Antiguo 02/12/2013, 23:56
Avatar de YOCF  
Fecha de Ingreso: diciembre-2013
Ubicación: Lima/buenos Aires
Mensajes: 2
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta Una duda sobre un codigo

Este ciclo eh tenido programación en la universidad
Y leyendo mi libro, encontré un código que no entiendo, en si una pequeña parte

en resumen el código convierte minúsculas a mayúsculas

Cadena= Cadena & 0xDF;

no entiendo para que 0xDF, estuve averiguando y convierte minúsculas a mayúsculas, pero no entiendo que hace esa parte

por que luego había otro ejemplo que utilizada 0x30 si mal no recuerdo era para convertir un char a aun int.

buscando mas en Internet vi que hay varios como 0x20. Si alguien me pudiera explicar que son estos valores? o que me digan como se llamas o a que tema pertenecen generalmente en los libros para poder buscarlos. Ademas, porque utilizar un "&"?
  #2 (permalink)  
Antiguo 03/12/2013, 11:34
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Una duda sobre un codigo

si fueras amable de pegar el código completo aquí XDD
  #3 (permalink)  
Antiguo 03/12/2013, 12:06
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Una duda sobre un codigo

tiene que ver con manejo de bits creo, pero ni idea XDD
Eh encontrado esta funcion
Código C++:
Ver original
  1. char InvierteMayusculas(char c)
  2. {
  3. return c^0x20;
  4. }
En esta pagina:http://foro.noticias3d.com/vbulletin...d.php?t=213318
  #4 (permalink)  
Antiguo 03/12/2013, 12:34
Avatar de guzzano  
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: Una duda sobre un codigo

Buenas, te recomiendo leer sobre operadores bitwise que es de lo que trata el tema. La conversación por medio del operador & funciona de la siguiente manera:

Tengo la letra a en un char su equivalente en binario es: 01100001 y necesito llevar esa letra a mayúscula que seria: A cuando su equivalente binario es 01000001

Lo que hace & es una comparativa lógica de cada bit, y retornará el resultado.
Por lo tanto, donde tengo 0 y 1 (y viceversa), dará 0, y donde tengo 1 y 1, dará 1.

Entonces tengo:
a en minúscula que vale: 01100001
y tengo 0xDF (en forma hexadecimal) que vale en binarios: 11011111.

Vendría siendo algo así:

A: 01100001
H: 11011111
R: 01000001

A es la letra minúscula, H es el hexadecimal, R es lo que retornara el operador lógico en lo explicado de la conversión bit por bit, que dará como resultado la cadena binaria de la letra A en mayúscula.

Ahora que sucede, me estás hablando de 0x20 y seguramente el operador | es al revés, donde sea 0 y 0 dará 0, pero en las demás situaciones dará 1.

Por consecuente:

A: 01000001
H: 00100000
R: 01000001

Donde está A: está la cadena binaria de la letra minúscula a, donde está H equivale al 0x20, y donde está R es el resultado de la comparación lógica. Que dará como resultado el binario de la letra minúscula A.

Lamento marearte con tantas negritas, era para que entendieras mejor, por la explicación he perdido la clase de la universidad, así que espero que te haya servido eh. ;)

Un saludo.

Última edición por guzzano; 03/12/2013 a las 12:51
  #5 (permalink)  
Antiguo 03/12/2013, 13:23
Avatar de YOCF  
Fecha de Ingreso: diciembre-2013
Ubicación: Lima/buenos Aires
Mensajes: 2
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Una duda sobre un codigo

Cita:
Iniciado por guzzano Ver Mensaje
Buenas, te recomiendo leer sobre operadores bitwise que es de lo que trata el tema. La conversación por medio del operador & funciona de la siguiente manera:

Tengo la letra a en un char su equivalente en binario es: 01100001 y necesito llevar esa letra a mayúscula que seria: A cuando su equivalente binario es 01000001

Lo que hace & es una comparativa lógica de cada bit, y retornará el resultado.
Por lo tanto, donde tengo 0 y 1 (y viceversa), dará 0, y donde tengo 1 y 1, dará 1.

Entonces tengo:
a en minúscula que vale: 01100001
y tengo 0xDF (en forma hexadecimal) que vale en binarios: 11011111.

Vendría siendo algo así:

A: 01100001
H: 11011111
R: 01000001

A es la letra minúscula, H es el hexadecimal, R es lo que retornara el operador lógico en lo explicado de la conversión bit por bit, que dará como resultado la cadena binaria de la letra A en mayúscula.

Ahora que sucede, me estás hablando de 0x20 y seguramente el operador | es al revés, donde sea 0 y 0 dará 0, pero en las demás situaciones dará 1.

Por consecuente:

A: 01000001
H: 00100000
R: 01000001

Donde está A: está la cadena binaria de la letra minúscula a, donde está H equivale al 0x20, y donde está R es el resultado de la comparación lógica. Que dará como resultado el binario de la letra minúscula A.

Lamento marearte con tantas negritas, era para que entendieras mejor, por la explicación he perdido la clase de la universidad, así que espero que te haya servido eh. ;)

Un saludo.
muchas gracias. si me ayudo.

y voy a leer sobre bitwise.
  #6 (permalink)  
Antiguo 03/12/2013, 15:39
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Una duda sobre un codigo

muy buena guzzano...ere un fiera :D

Etiquetas: int, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:33.