Объяснить строку кода - C (СИ) (75160)
Формулировка задачи:
Доброго времени суток) впервые столкнулся с таким кодом, кто может объяснить что значит >> и зачем там &;
if (((a>>14)&1)==1) n++;
Решение задачи: «Объяснить строку кода»
textual
Листинг программы
#include <stdio.h> #include <stdint.h> #include <limits.h> #define is_negative(a) ( ( (a) >> ( sizeof(a) * CHAR_BIT - 1 ) ) & 1 ) int main(void) { int8_t a8 = -1; int8_t b8 = 1; int16_t a16 = -1; int16_t b16 = 1; int32_t a32 = -1; int32_t b32 = 1; printf("a8 (%hhd) is %s\n", a8, ( is_negative(a8) ) ? "negative" : "positive or zero"); printf("b8 (%hhd) is %s\n", b8, ( is_negative(b8) ) ? "negative" : "positive or zero"); printf("a16 (%hd) is %s\n", a16, ( is_negative(a16) ) ? "negative" : "positive or zero"); printf("b16 (%hd) is %s\n", b16, ( is_negative(b16) ) ? "negative" : "positive or zero"); printf("a32 (%d) is %s\n", a32, ( is_negative(a32) ) ? "negative" : "positive or zero"); printf("b32 (%d) is %s\n", b32, ( is_negative(b32) ) ? "negative" : "positive or zero"); return 0; }
Объяснение кода листинга программы
- Объявлены переменные a8, b8, a16, b16, a32, b32 типа int8_t, int16_t, int32_t соответственно со значениями -1 и 1.
- Выведена информация о значении переменной a8 на экран. Значение переменной a8 равно -1.
- Выведена информация о значении переменной b8 на экран. Значение переменной b8 равно 1.
- Выведена информация о значении переменной a16 на экран. Значение переменной a16 равно -1.
- Выведена информация о значении переменной b16 на экран. Значение переменной b16 равно 1.
- Выведена информация о значении переменной a32 на экран. Значение переменной a32 равно -1.
- Выведена информация о значении переменной b32 на экран. Значение переменной b32 равно 1.
- Программа успешно завершена, возврат значения 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д