Autor Tema: Acceder a un bit de un array  (Leído 3444 veces)

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

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Acceder a un bit de un array
« en: 31 de Agosto de 2009, 17:52:59 »
Hola

Pues eso requiero modificar el bit 7 ,de una variable que forma parte de un array  el manual dice que se accede al  bit de una variable así:
int result;
#bit result_odd = result.0

Ahora si yo ago esto:
Int8 result[4],
#bit result_odd = result[2].0

El compilador me marca error y en el manual no e encontrado otra forma de hacerlo es así como debe hacerse o mi error esta en otra parte del código al trabajar el array

Como siempre agradezco sus comentarios


Desconectado fabianjsm

  • PIC18
  • ****
  • Mensajes: 255
    • fabianjsm is on twitter
Re: Acceder a un bit de un array
« Respuesta #1 en: 31 de Agosto de 2009, 19:37:30 »
Si queres invertir el septimo bit:
    result[2] ^= 128;
Setear:
    result[2] |= 128;
Que valga cero:
    result[2] &= 128;
En un if
    if(result[2] & 128) {
    }

128 es el resultado de 1<<7;
« Última modificación: 31 de Agosto de 2009, 19:40:13 por fabianjm »
@fabianjsm is on twitter

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Acceder a un bit de un array
« Respuesta #2 en: 31 de Agosto de 2009, 19:51:27 »
Si utilizas CCS también puedes utilizar las macros bit_test para leer un bit, y bit_set para ponerlo a 0 o 1.

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Acceder a un bit de un array
« Respuesta #3 en: 31 de Agosto de 2009, 23:46:56 »
Les agradezco sus comentarios probare de ambas maneras esto de cambiar el bit de un array se a puesto muy rudo . Y mas me extraña  que a todos les parece muy loco que quiera hacer esto en un array  :D :D :D

E probado ambas formas y las dos funcionan correctamente  :-/ :-/ :-/
« Última modificación: 01 de Septiembre de 2009, 00:24:09 por septiembre_negro »

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Acceder a un bit de un array
« Respuesta #4 en: 01 de Septiembre de 2009, 00:28:14 »
También deberías poder invertirlo con toggle_bit().

Espero te sirva...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Acceder a un bit de un array
« Respuesta #5 en: 01 de Septiembre de 2009, 22:01:07 »
También deberías poder invertirlo con toggle_bit().

Espero te sirva...

Entendido y anotado  :P


 

anything