|
|
|
Помогите с побитовой обработкой числа
|
|||
|---|---|---|---|
|
#18+
у меня проблема, при сдвиге числа (32 разряда) появляются лишние еденицы.Подскажите, в чем причина: //Функция проверки разряда m числа x short int IsOne(unsigned long x, int m) { return(((x>>m)&1)!=0); } //Функция вывода числа x в двоичном виде void WriteBits(unsigned long x) { int i; int f; f = sizeof(x); for (i=8*(f);i>=0;i--) printf("%d",IsOne(x,i)); }//WriteBits ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2005, 11:38 |
|
||
|
Помогите с побитовой обработкой числа
|
|||
|---|---|---|---|
|
#18+
Вот это i=8*(f) поправь на это: i=8*(f) -1 и будет тебе счастье :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2005, 12:06 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33361536&tid=2032497]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 385ms |

| 0 / 0 |
