五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

單片機(jī)應(yīng)用實(shí)踐篇之單總線上單個DS18B20的溫度讀取顯示編程(基于數(shù)碼管...

2023-07-12 22:31 作者:無數(shù)碎片尋你  | 我要投稿

我找到規(guī)律了,我發(fā)現(xiàn), 正數(shù)是沒問題的,然后負(fù)數(shù),如果這個負(fù)數(shù)是整數(shù)的話, 整數(shù)部分,就是根據(jù)補(bǔ)碼的規(guī)則去求的,取反,然后加一,

但是如果負(fù)數(shù),并且后面帶有小數(shù)的話,整數(shù)部分就是反碼, 不是補(bǔ)碼了,可能需要區(qū)分一下,我也沒手冊,我是看老師截圖,換算得到的結(jié)論,并且我驗(yàn)算了,可以實(shí)現(xiàn),總結(jié)一下,正數(shù),是本身,沒問題,負(fù)數(shù)的話,如果小數(shù)點(diǎn)后面有數(shù)字,那么整數(shù)部分,是原碼的反碼,不是補(bǔ)碼,小數(shù)點(diǎn)后面是0的話,那整數(shù)部分就是補(bǔ)碼,取反加一就可以了

//xiao是小數(shù)部分,就是區(qū)分,當(dāng)負(fù)數(shù)的情況下,補(bǔ)碼和反碼

if(xiao == 0x00)

{

zheng = ((~dat)+1) ;

}

else

{

zheng = ((~dat) ) ;

}

完整的處理函數(shù)

/處理整數(shù)部分


unsigned char chuli(int dat, unsigned char *str,int xiao)

{

unsigned char i = 0;

unsigned char len = 0;

unsigned char buf[7];

//提取符號

unsigned char sign;

unsigned char zheng;

sign = dat >> 7; //將整數(shù)部分移走,此時sign代表符號位

//然后開始提取整數(shù)部分

zheng = dat & 0x007F; //消除了符號位

//此時zheng 有可能是負(fù)數(shù)(補(bǔ)碼),也有可能是整數(shù),所以需要判斷

if(sign > 0)

{

*str++ = '-';

len++;

//如果是負(fù)數(shù), 說明是補(bǔ)碼, 所以需要還原成源碼

//現(xiàn)在我們只需要 整數(shù)取反, 并且保留七位整數(shù),然后加一即可

// zheng = ((~dat) & 0x07F +1) ;

if(xiao == 0x00)

{

zheng = ((~dat)+1) ;

}

else

{

zheng = ((~dat) ) ;

}

}



//下面把整數(shù)填進(jìn)數(shù)組

do

{

buf[i++] = zheng %10 + '0'; //dat%10 + 0x30; buf[0] = '8' buf[1] = '7'

zheng /= 10;

}while(zheng > 0); //每取到一位數(shù), 就截取掉

len += i;

while(i-- > 0)

{

*str++ = buf[i];

}

*str = '\0';

return len;

}


單片機(jī)應(yīng)用實(shí)踐篇之單總線上單個DS18B20的溫度讀取顯示編程(基于數(shù)碼管...的評論 (共 條)

分享到微博請遵守國家法律
尼玛县| 镇康县| 九江市| 龙南县| 绥芬河市| 远安县| 镇沅| 浠水县| 德令哈市| 遂溪县| 吴川市| 砚山县| 乐昌市| 德安县| 姜堰市| 西藏| 洛浦县| 若尔盖县| 司法| 清涧县| 手游| 龙井市| 确山县| 洪雅县| 仲巴县| 兰西县| 石屏县| 泌阳县| 肃北| 永靖县| 米林县| 新乡县| 龙游县| 新田县| 和龙市| 巫山县| 封丘县| 玉溪市| 揭东县| 大名县| 铜梁县|