Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: YOCF en 3 Diciembre 2013, 06:49 AM

Título: Una duda con un codigo
Publicado por: YOCF en 3 Diciembre 2013, 06:49 AM
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 "&"?
Título: Re: Una duda con un codigo
Publicado por: Shell Root en 3 Diciembre 2013, 21:24 PM
Valores del alfabeto en ASCII
'A' = 65 decimal = 01000001 en binario
'a' = 97 decimal = 01100001 en binario
'Z' = 90 decimal = 01011010 en binario
'z' = 122 decimal = 01111010 en binario

Se puede notar que la diferencia entre una mayúscula y una minúscula es un bit.
Mayúscula = 010xxxxx
Minúscula = 011xxxxx

// Para convertir una letra en mayúscula deberás poner en cero el bit 5 por ejemplo haciendo un and con 0xDF
Cadena[0] &= 0xDF;

// Para convertir una letra en minúscula deberás poner en uno el bit 5, por ejemplo haciendo un or con 0x20
Cadena[0] |= 0x20;


:http://www.taringa.net/comunidades/aprendiendoc/5029443/Ejemplo-de-condicional-y-manejo-de-bits.html
Título: Re: Una duda con un codigo
Publicado por: Vaagish en 4 Diciembre 2013, 05:49 AM
Tablas de verdad de las operaciones binarias fundamentales

Multiplicación lógica o intersección
También conocida como AND (&)  (la conjunción y en inglés).


0 & 0 =0
0 & 1 =0
1 & 0 =0
1 & 1 =1


Resumiendo, el resultado siempre dará 0 a menos que ambas variables valgan 1; esto sucede porque como se explicó anteriormente hay sólo dos variables 0 y 1 por consiguiente al multiplicar 1*1 nos da como resultado 1. (Equivale a la multiplicación)

Citarhttp://es.wikipedia.org/wiki/L%C3%B3gica_binaria