En la programación integrada, ¿qué hace 0X1 << 5, 1 | 2 << 4, 0x1 << 1 | 0x1 << 2 significa?

Debe comprender el almacenamiento y los operadores de C y cómo funcionan los operadores.

Vayamos de lo básico.

El compilador de C convierte todos los números en binario y lo almacena en la memoria.

Ejemplo:

int i, j, k; -> tres ubicaciones en la memoria.

int es el tipo de datos. Los últimos compiladores de C asignan 32 bits para el tipo de datos int. Como 32 bits es grande, consideremos 8 bits. Veamos cómo se almacenan los números en la memoria.

27 (decimal) – 00011011 = 16 + 8 + 2 + 1
0x27 (Hexa Decimal) 00100111 = 0010 0111
2 7
027 (Octal) – 00010111 = 00 010 111
0 2 7
‘2’ – 00110010 = valor ASCII de 2

La computadora agrega solo valores binarios.

27 + 0x27 significa 00011011 + = 27
00100111 = 39
= 01000010 = 64 + 2 = 66

Los operadores aritméticos +, -, *, / y% trabajan de la misma manera.

No permítanos discutir cómo funcionan los operadores de bits sabios.

Operadores en cuanto a bits = &, | , ~ y ^

& = AND Operador
El | = O Operador
~ = NO operador
^ = Operador XOR

5 y 6 – >>

0 0 0 0 0 1 0 1 – 5
0 0 0 0 0 1 1 0 – 6
——————
0 0 0 0 0 1 0 0 – 4
——————
La respuesta es 4

5 | 6 – >>

0 0 0 0 0 1 0 1 – 5
0 0 0 0 0 1 1 0 – 6
——————
0 0 0 0 0 1 1 1 – 7
——————

La respuesta es 7

~ 5 ->

0 0 0 0 0 1 0 1 – 5
——————
1 1 1 1 1 0 1 0 – -6 (con signo), 250 (sin signo)
——————
5 ^ 6 – >>

0 0 0 0 0 1 0 1 – 5
0 0 0 0 0 1 1 0 – 6
——————
0 0 0 0 0 0 1 1 – 3
——————

La respuesta es 3

Ahora veamos los operadores de turnos <>

<< – Desplazamiento a la izquierda
>> – Desplazamiento a la derecha

1 <>

0 0 0 0 0 0 0 1
Ahora mueva esto a la izquierda 3 veces 0 0 0 0 0 0 0 1 0 0 0 – Los lugares vacíos se llenan con cero. Entonces el

La respuesta es 8

0x12 <>

0 0 0 1 0 0 1 0
Ahora mueva esto a la izquierda 2 veces 0 0 0 1 0 0 1 0 0 0 – Los lugares vacíos se llenan con cero. Entonces el

La respuesta es 72


Ahora deja que venga a tu problema.

0x1 << 5, 1 | 2 << 4, 0x1 << 1 | 0x1 << 2;

0x1 << 5

0 0 0 0 0 0 0 1
Ahora mueva esto 5 veces 0 0 0 0 0 0 0 1 0 0 0 0 0 – Los lugares vacíos se llenan con cero. Entonces el

La respuesta es 32

1 | 2 << 4

2 << 4

0 0 0 0 0 0 1 0
Ahora mueva esto 5 veces 0 0 0 0 0 0 0 1 0 0 0 0 0 – Los lugares vacíos se llenan con cero.

1 | 2 << 4
0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0
——————–
0 0 1 0 0 0 0 1
——————-

La respuesta es 33

0x1 << 1 | 0x1 << 2   

0x1 << 1

0 0 0 0 0 0 0 1
Ahora desplaza esto a la izquierda 1 vez 0 0 0 0 0 0 0 1 0 – Los lugares vacíos se llenan con cero.

0x1 << 2

0 0 0 0 0 0 0 1
Ahora mueva esto a la izquierda 2 veces 0 0 0 0 0 0 1 0 0 – Los lugares vacíos se llenan con cero.

0x1 << 1 | 0x1 << 2

0 0 0 0 0 01 0 – 2
0 0 0 0 0 1 0 0 – 4
——————
0 0 0 0 0 1 1 0 – 6
——————

La respuesta es 6

Esto es todo sobre el lenguaje C. Esto solo conocimiento. Puedes aprender esto en una semana. Pero lo que necesitas es habilidad de programación en C. La industria solo necesita habilidad de programación en C. Entonces comience a practicar la programación en C a partir de hoy. No malgastes tu tiempo. La programación en C es obligatoria para todos los estudiantes de electrónica.

More Interesting

¿Cuál es la diferencia entre el mecanismo de comunicación de I2C y USB?

¿Cuáles son las aplicaciones industriales de microcontroladores y software como Arduino y Raspberry Pi, etc.?

¿Cuáles son las diversas oportunidades de trabajo en sistemas integrados de la rama de electrónica en India después de la graduación de BTech?

Cómo convertirse en un geek de sistemas embebidos

¿Cuáles son algunos circuitos integrados programables o hardware similar que son adecuados para aficionados y relevantes para la industria?

¿Qué debo hacer para conseguir un trabajo después de un descanso de 1 año?

Cómo escribir código para una pantalla de siete segmentos de 00 a 99 en Embedded C

¿Qué es Android incrustado?

Cómo aprender el desarrollo integrado si no sé nada sobre el lenguaje C o los microcontroladores, pero quiero aprenderlo

¿Cuál es el alcance del aprendizaje automático en IoT hoy? ¿Los empresarios de IoT buscan ingenieros de Machine Learning?

¿Cómo progresaremos en la visión de dispositivos con recursos limitados (sistemas integrados), considerando la adopción de Deep Learning? También el estado actual?

¿NIELIT Delhi es un buen lugar para aprender sistemas integrados (cursos de corta duración)?

Cuál es una mejor opción: el trabajo actual en el que estoy trabajando con un marco .Net que me paga bastante bien o un trabajo de programación integrado donde podría trabajar con C que me pagaría menos que mi trabajo actual.

¿Qué tablero debo comprar para comenzar con los proyectos 8051?

Soy un estudiante de segundo año de B.Tech en ingeniería física. Estoy interesado en sistemas embebidos, y he realizado proyectos básicos usando la placa Arduino. ¿Cuáles son las opciones de MS para alguien como yo y cómo debo hacerlo?