Título: como pasar la funcion BitConverter de VB.NEt a C? Publicado por: Belial & Grimoire en 28 Enero 2014, 20:25 pm hola
tengo un array byte donde guardo informacion guardada por ReadFile, por ejemplo BYTE buffer[1024] ReadFile(HFile, buffer, sizeof(buffer), 0); en VB.net hay una funcion que te convierte bytes en enteros se llama Bitconverter.ToInt16, lo que supuestamente hace es buscar un offset y lo que haya en ese offset lo convierte en decimal por ejemplo offset = &HD BitConverter.ToInt16(buffer, offset) alli, hasta donde yo se, es que busca en el array BYTE buffer el offset o hexadecimal que en este caso seria 0x0D, y el contenido alli lo cambia a decimal por ejemplo primero busca en el array 0x0D, cuando lo encuentra hay un valor que es 0x08 y lo convierte a decimal que igual seria 8, pero puede cambiar el valor, podria ser 0xAF, 0x13, etc... Entonces quisiera saber como podria leer el array BYTE para encontrar el offset y hacer la conversion de hexadecimal a decimal de lo que haya en cierto offset pero en codigo C porque Bitconverter convierte dependiendo la base, por ejemplo Int16 convierte los dos primeros bytes, int32 convierte los 4 primeros bytes y int64 convierte los 8 primeros bytes entonces si por ejemplo en el offset 0x0B hay un valor 0x0102, como encontraria el offset 0x0B para cambiar el valor 0x0102 de hexadecimal a decimal? me podrian poner algun ejemplo porfavor Título: Re: como pasar la funcion BitConverter de VB.NEt a C? Publicado por: x64core en 30 Enero 2014, 20:47 pm Pues talvez en NET los array son almacenados en forma diferente ya que si dices que tienes un array de bytes entonces la representación
de la base numerica es aparte a menos a que te refieras que tienes un array de characteres y no de bytes. |