Автор Тема: побитови полета  (Прочетена 4824 пъти)

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: побитови полета
« Отговор #15 -: Mar 04, 2011, 19:52 »
оки разбрах какво представляват всеки бит се заема последователно или от края към началото или обратно но не мога да разбера как се изчислчва колко бита е едно число например числата от едно до десет моля ви обяснете ми

Ама що за глупости - да не си мислиш, че: 1 = 1 bit, 2 = 13bits, 3 = 7bits, etc...
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

clovenhoof

  • Напреднали
  • *****
  • Публикации: 534
  • Distribution: Mac OSX 10.9.2
    • Профил
Re: побитови полета
« Отговор #16 -: Mar 04, 2011, 20:12 »
Бинарен код, двоична система ... . Разбери тези неща, щото явно не ги знаеш и тогава ще си отговориш на въпроса "колко бита заема едно число".

Няма да ти изнасяме лекции. Ако има нещо за доизясняване по-става.
Активен

We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain

chen_dzen

  • Напреднали
  • *****
  • Публикации: 623
  • Distribution: Debian 6.0 Squeeze
  • Window Manager: GNOME
    • Профил
Re: побитови полета
« Отговор #17 -: Mar 04, 2011, 20:57 »
оки разбрах какво представляват всеки бит се заема последователно или от края към началото или обратно но не мога да разбера как се изчислчва колко бита е едно число например числата от едно до десет моля ви обяснете ми
Делиш на 2 и записваш остатъка ето така :

 10/2 = 5 (0
 5/2 = 2 (1
 2/2 = 0 (0
 0/2 = 0 (1

Гледаш остатъка отдоло нагоре и това ти е двоично 1010  ;)
ако не се бъркам нещо .
« Последна редакция: Mar 04, 2011, 20:59 от chen_dzen »
Активен

clovenhoof

  • Напреднали
  • *****
  • Публикации: 534
  • Distribution: Mac OSX 10.9.2
    • Профил
Re: побитови полета
« Отговор #18 -: Mar 04, 2011, 21:38 »
Петък вечер е, така че лек бонус:

Код
GeSHi (C):
  1. #include <stdio.h>
  2.  
  3. __forceinline int MSB(int x)
  4. {
  5. __asm bsr eax, dword ptr x
  6. }
  7.  
  8. int main(void)
  9. {
  10. for (int i = 1; i < 11; ++i)
  11. {
  12. printf("%d -> %d bits\n", i, MSB(i) + 1);
  13. }
  14.  
  15. return 0;
  16. }
  17.  

Показва колко бита заема всяко число от 1 до 10.
Говорих ти за MSB, ама ти не четеш.

ПП: Компилира се под Windows. Под Linux трябва да се редактира.
Активен

We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain

dwni2

  • Напреднали
  • *****
  • Публикации: 79
    • Профил
Re: побитови полета
« Отговор #19 -: Mar 06, 2011, 20:12 »
ок мерси
Активен