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년 1월 15일 축구 스포츠 토토 프로토 승부식 7회차 축구 경기 예상

 1. 배팅 가능한 경기를 추려보면 8경기가 배팅 가능한 경기이다. 2. 가장 적합한 배팅은 사실 2경기 밖에 없다. 스페인FA컵 173번 경기와, 186번 EPL 맨체스터유나이티드와 사우샘프 경기이다. 찝찝한 것이 20위 팀과의 경기는 이상하게 예상...