SI въпрос

Разглеждате архива на форума.

Автор: tester ()
Дата: 06/12/2005 10:19

ламер въпрос
има някаква променлива на размера int

b = (ниско a)
c = (високо a)
това не работи

как да изберете правилно ниския и високия байт от него (нисък и висок)
за да ги присвоите на две променливи char
(възможно е чрез указател, но възможно най-просто - с минимум операции)

Изпратете Редактирано (06/12/2005 10:21)

Автор: stiker ()
Дата: 06/12/2005 10:21

Без да използвате указатели:

#define hibyte (a) ((a >> 8) & 0xFF)
#define lobyte (a) ((a) & 0xFF)

Автор: tester ()
Дата: 06/12/2005 10:22

Автор: alho ()
Дата: 06/12/2005 10:31

______________________________________________________
Никога не спорете с глупак - хората може да не забележат
разликата между вас

Автор: Бил ()
Дата: 06/12/2005 11:06

Само за много тъп компилатор ще използва union win. Обикновено и двете конструкции
се превеждат в същия код.

Автор: alho ()
Дата: 06/12/2005 12:36

Съюз tst int a;
char i [2];
> tst1;

използва 2 байта RAM

съжалявам 4 байта RAM.

Какво общо има глупостта на компилатора? .

______________________________________________________
Никога не спорете с глупак - хората може да не забележат
разликата между вас

Автор: Бил ()