- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 
char blt=0;
void WriteBit(bool bit)
{
	if(BitCount<9)
	{
		if(bit){blt|=(1<<BitCount);BitCount++;}
		if(!bit){blt&=~(1<<BitCount);BitCount++;}	
	}
	else
	{
		out_file<<blt;
		BitCount=0;
		blt=0;
	}
}
                                
 Follow us!
И даже С++ вижу!
out_file<<blt;
void ClassName::WriteBit(bool bit) ???
это что же... такая функция внутри декларации класса сразу выписана?
айайайай, ойойойой... дважды говнокод :)
Непонятно, нах%ра извините за выражение, такие большие функции сразу внутри класса выписывать.
Ну в общем, хозяева-баре, конечно. Но то что обычно декларации идут в хедеры, а уже реализация, собсно в сишники, и почему так делается, надо знать :) И почему маленькие функции сразу при обьявлении класса - нормально, а большие - плохо. И вообще то что изначально функции описанные сразу внутри класса - становились инлайн - никто не помнит уже? ;)
Всегда ваш,
К.О.
Вопрос - какое нах ООП? От того, что Вы начали использовать классы ничего не поменялось. Просто глобальные переменные модуля теперь являются глобальными переменными класса. Те же яйца, только всмятку. Или я неправ?
tim
В blt пишутся биты 0-7, бит номер 8 игнорируется (слишком большой сдвиг), во время бита 9 идёт запись байта и он тоже игнорируется.
Плюс строчка
if(!bit){blt&=~(1<<BitCount);BitCount++; }
ничего не делает ибо там и так 0.
просто видать сам в этом не шарит и он полный ляля)) и все тут...
Налицо явное непонимание конструкций типа "а &= ~(1 << b)". Типа один зазубрил что это выставить бит в ноль, но нихуя не понял как работает, другой списал и буквы переменных моменял. Тьфу ненавижу, иди рисуй или поваром стань, от этого будет больше пользы.
А здесь тебя с такими раскладами забанят по айпишнику. Будешь свои IT-познания показывать во время составления цепочек проксей.
ведь каждый новый байт инициализируется нулем (все биты обнулены), т.е. достаточно просто единички в нужные разряды писать. ну и с пропадением девятых битов уже говорили.