Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Ejercicio Info 1 Ayuda
Autor Mensaje
matiasmolivar Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. Electrónica
Facultad Regional Haedo

Mensajes: 3
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Nov 2013
Mensaje: #1
Ejercicio Info 1 Ayuda Otro Informática I (Electrónica)
Buenas noches,

Les pido su ayuda con este ejer de info 1 ( campos de bit).

En el mismo necesito ingresar un hexadecimal y verificar si el 4 bit mas significativo es 1.
Si lo es tengo que contar los 1 y 0 de los 4 bits menos significativos.
El problema es que con algunos ingresos me muestra el conteo y otros no.
Les agradezco su ayuda.[/code]

#include <stdio.h>
#include <conio.h>


int main(){
int A,Mask=0X0800,I,M=1,Cont1=0,Cont2=0;

printf("\n ingrese un entero hexadecimal\n");
scanf("\n%x", &A);
if (A&Mask==0x0800){
for(I=0;I<=3;I++){

if(A&M==1){
Cont1++;
A>>1;
}
else
Cont2++;
A>>1;


}

printf("\n Cont1=%d Cont0=%d\n",Cont1,Cont2);
getch();
11-11-2014 23:01
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Santi Aguito Sin conexión
Presidente del CEIT
Newtoniano
********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 1.240
Agradecimientos dados: 246
Agradecimientos: 682 en 341 posts
Registro en: Oct 2012
Mensaje: #2
RE: Ejercicio Info 1 Ayuda
Si necesitas ver que haya un 1 en el cuarto bit mas significativo, la mascara seria:


int Mask = 0x1000; // 0001 0000 0000 0000



Tambien podrias cambiar la condicion del if por:


if (A & Mask) {}


Sigue siendo lo mismo, pero me gusta leerlo mas asi =P

Busca la excelencia, el éxito llegará
(Este mensaje fue modificado por última vez en: 11-11-2014 23:24 por Santi Aguito.)
11-11-2014 23:11
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
luchovl2 Sin conexión
Presidente del CEIT
Dígame, Ingeniero.
********

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 1.335
Agradecimientos dados: 24
Agradecimientos: 356 en 324 posts
Registro en: May 2009
Mensaje: #3
RE: Ejercicio Info 1 Ayuda
Hay algo raro aca. Si ingresás un hexa de un dígito, son cuatro bits. Si es así, la máscara no tiene sentido. O sea, está mal.
Si podés ingresar números de más de un dígito, no entiendo por qué solo contar los cuatro bits menos significativos. Pero podría ser....
Por otro lado, si tenés que preguntar por el cuarto bit más significativo, deberías ver el tamaño de la palabra. Vos asumiste que son palabras de cuatro bytes.

Una cosa, en el if más interno, hacés el corrimiento de A, pero también lo hacés al final del for. Entonces, cuando se cumplen todas las condiciones, corre A dos veces.
12-11-2014 14:41
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)