Título: Por que true necesita dos bits para dar 1 logico Publicado por: aurquiel en 19 Noviembre 2016, 18:14 pm Hola he estado jugando con las estructuras para manejar bits, hice este simple programa
Código: #include <iostream> Donde el resultado es el siguiente -1 0 En cambio si aumento el campo de bits de bytea dos asi Código: #include <iostream> Donde el resultado es el siguiente 1 0 Notese la diferencia de signo del 1,alguien me podría dar una explicación a esto, ya que true solo tomo el valor de 1 no deberia ser suficiente con solo asignarle un bit para hacerlo. Título: Re: Por que true necesita dos bits para dar 1 logico Publicado por: Drewermerc en 19 Noviembre 2016, 20:52 pm hola aurquiel.
Eso pasa porque al usar int byte:1 lo estas usando como signed y cuando accedes a un solo bit de la declacion, este solo va a poder tomar valores de 0 y -1. Para poder usar solo un bit y almacenar 1 ó 0 solo basta con declararlo como unsigned. Código
si quieres leer un poco mas puedes revisar este enlace (http://publications.gbdirect.co.uk/c_book/chapter6/bitfields.html) Saludos, Drewermerc Título: Re: Por que true necesita dos bits para dar 1 logico Publicado por: aurquiel en 19 Noviembre 2016, 22:13 pm Gracias ;-)
Es magnifico como Internet puede conectarme con mentes como la tuya en este caso. De verdad había una explicación lógica para lo que me planteaba |