Петък вечер е, така че лек бонус:
GeSHi (C):
#include <stdio.h>
__forceinline int MSB(int x)
{
__asm bsr eax, dword ptr x
}
int main(void)
{
for (int i = 1; i < 11; ++i)
{
printf("%d -> %d bits\n", i
, MSB
(i
) + 1);
}
return 0;
}
Показва колко бита заема всяко число от 1 до 10.
Говорих ти за MSB, ама ти не четеш.
ПП: Компилира се под Windows. Под Linux трябва да се редактира.