[code]
24 : این عدد که یکی از پر معنا ترین اعداد برای ما هست 2 تا مسئله رو برامون روشن میکنه.
این عدد چندین حالت میتونه داشته باشه که من عام اون رو بهتون میگم.
04: برای SMS یعنی شخصی که پیام رو فرستاده
درخواست گزارش یا همون Delivery نکرده.
24: برای SMSیعنی شخصی که پیام رو فرستاده
درخواست گزارش یا همون Delivery کرده.
40: برای EMSیعنی شخصی که پیام رو فرستاده
درخواست گزارش یا همون Delivery نکرده.
44: برای EMS یعنی شخصی که پیام رو فرستاده
درخواست گزارش یا همون Delivery کرده.
06: پیام فعلی یک گزارش هست.
البته این اعداد همینجوری یلخی هم به دست نیامده و با 0 و 1 شده معادل باینری اونا سرو کار داره. ولی کلیات کار رو تا اینجا داشته باشید کفایت میکنه.
پس تا اینجا ما فهمیدیم که با این عدد به 2 دسته اطلاعات میشه پی برد یکی نوع پیام و دیگری آیا درخواست گزارش از طرف فرستنده ارسال شده یا نه.
حالا میخواهیم دقیق از روی عددی که توی این بایت وجود داره بفهمیم که نوع این کد چیه؟
- SMS دریافت شده = 0
- SMS ذخیره شده = 1
- گزارش دریافت یک پیام = 2
- EMS دریافت شده = 64
- EMS ذخیره شده = 65
البته اون عدد
24 در مبنای 16 هست و این عدد هایی که من نوشتم تا اینجای کار ربطی به اون 24 نداره و همچنین در مبنای 10 هستند.
اینجا باید عدد 24H رو با 3 و 64 در مبنای 10 And کنیم و هر دو نتیجه رو با هم جمع کنیم یعنی :
36 دسیمال =
24 هگز = 00100100 باینری
AND
3 دسیمال = 3 هگز = 00000011 باینری
جواب1
0 دسیمال = 0 هگز = 00000000 باینری
و داریم
36 دسیمال =
24 هگز = 00100100 باینری
AND
64 دسیمال = 40 هگز = 01000000 باینری
جواب2
0 دسیمال = 0 هگز = 00000000 باینری
که در جمع 2 جواب به عدد 0 میرسیم که میشه :
SMS دریافت شده = 0
فقط امیدوارم با AND باینری آشنا باشید!
AND باینری!
0AND0=0
0AND1=0
1AND1=1
پس ما با AND کردن این عدد با 3 و 64 و جمع نتیجه ها به این نکته پی میبری که پیام ما چیه ولی یه نکته که اهمیت داره و کاربرد نداره اینه که:
اگر جواب اول بشه 3 و جواب دوم بشه 64 نوع پیام میشه : EMS ارسال شده