نوشته شده توسط
ciscozagros
با سلام خدمت دوستان من از یک باسکول 5 بایت به این شکل دریافت می کنم b000017c7c روی نمایشگر باسکول عدد 32380 رو نشون میده ولی من به این عدد نمیرسم
یک نمونه دیگه وزن باسکول 33740 کد هگز b00002074c
لطفاً راهنمایی بفرمائید ممنون میشم
با دو مثال نمیشه نتیجه گرفت که درسته یا نه، ولی اون چهار بایت کم ارزش رو در نظر بگیرید، هر بایت 8 بیت ئه ولی شما 7 بیت فرض شون کنید و یک بیت بالایی بایت ها رو بندازید دور، انگار نیست.
میشه چهار تا هفت بیتی که باید بچسبونید بهم تا بشه یک عدد 28 بیتی :
private void Form1_Load(object sender, EventArgs e)
{
var w1 = GetWeight(0xb000017c7c);
var w2 = GetWeight(0xb00002074c);
MessageBox.Show(w1.ToString() + " " + w2.ToString());
}
private static int GetWeight(long data)
{
var a = data & 127;
var b = (data >> 8) & 127;
var c = (data >> 16) & 127;
var d = (data >> 24) & 127;
return (int)(a | (b << 7) | (c << 14) | (d << 21));
}