Checksum c/c++ code example, Add with Carry



#include stdio.h

#include string.h




int DataLen=5;

const char* pData="ABCDE";



unsigned short CalculateChecksum (const unsigned char* pData, int DataLen);



main()




{



unsigned long CS = 0;

unsigned short* psData = (unsigned short*)pData;

for (int Index = 0; Index < (DataLen / 2); Index++, psData++)



CS += *psData;



if (DataLen % 2 != 0)

CS += pData[DataLen - 1];

CS = (CS >> 16) + (CS & 0xFFFF);

CS += (CS >> 16);



printf("%4x", CS);



return (unsigned short) ~CS;



}







-----------------------------



ABCDE




step1.




AB->BA




CD->DC




E->0E




Step2.




Sum




BA+DC+0E




---------------------------------------------


step3.




When you get to lager sums carry must be added back to the original number.




ex. x12345




=x1234+5=x1239

Interpret the Dream, A dream to clean the bathroom

I dreamed of cleaning up the presidential room in my dreams and clearing all the shit on the walls.


I bought a lottery ticket because I did not like it.


I am so happy that I have a day and a lottery ...


The result is bang!


How can there be no number?


Even after the disappointment of dog dreams, paying movies ...


I woke up the next morning and the movie I paid for yesterday was released for the first time.


Ha ~~~


This is a very bad dream.

2025년 프로토 승부식 26회차 금요일 축구 경기 배팅 예상

프로토 승부식 26회차 축구 배팅 예상 정리 가장 가능성이 높은 일반 배팅은 바이에른 뮌헨 승리 예상 가장 가능성이 높은 핸디캡 배팅은 센트럴 매리너스 핸디캡 +1 무승부 가장 가능성이 높은 언더오버 배팅은 바야돌리드 언더 2.5 하나더 추가로 배팅 ...