малко математика:)

2 отговора 173 прегледа
#1

малко математика:)

Налага ми се да направя побитово сума по модул 2 на няколко шестнадесетични числа (за контролна сума). Или иначе казано ако ги представя двоично и преброя единиците в даден бит и броя им е нечетен->записвам 1, ако е четен ->0.

10011100
00110100
01100101
=======
11001101 ->резултат

Някой може ли да даде идея как може да стане бързичко и лесно, че малко съм скаран с този дял на математиката.

Отговор
в отговор на BOB #2

Re: малко математика:)

Това разбираш ли го?
const int size = 100;

int a[size];
...
for(int i = 0, result = 0; i < size; i++)
result ^= a[i ];

cheers,
</wqw>

Отговор
в отговор на wqw #3

Re: малко математика:)

Оопс:
    Dim aSeq(0 To 100)  As Long

Dim lIdx As Long
Dim lResult As Long
...
For lIdx = 0 To UBound(aSeq)
lResult = lResult Xor aSeq(lIdx)
Next

cheers,
</wqw>

Отговор