標(biāo)題: 請(qǐng)教一個(gè)簡(jiǎn)單的C語(yǔ)言數(shù)據(jù)轉(zhuǎn)換的問(wèn)題 [打印本頁(yè)]

作者: mtt661    時(shí)間: 2022-10-14 22:56
標(biāo)題: 請(qǐng)教一個(gè)簡(jiǎn)單的C語(yǔ)言數(shù)據(jù)轉(zhuǎn)換的問(wèn)題
  1.                 unsigned char i,k,l,m=0x3f;
  2.                 bit j;
  3.                 for(i=0;i<8;i++)
  4.                 {
  5.                                 j=m&0x01;        //依次取出低位數(shù)據(jù)
  6.                                 m>>=1
  7.                                 k=j;
  8.                                  
  9.                         newnum[l++]=k;        
  10.                 }
復(fù)制代碼

以上運(yùn)算是不是可以得到一個(gè)數(shù)組newnum[]={0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00};
作者: adject    時(shí)間: 2022-10-14 23:19
的確是這樣的
作者: Hephaestus    時(shí)間: 2022-10-14 23:20
細(xì)節(jié)上還有點(diǎn)兒小毛病,比如l沒(méi)有初始化,但總體思路沒(méi)有錯(cuò)。
作者: 一事無(wú)成    時(shí)間: 2022-10-14 23:28
m>>=1; 加“;”另外j是多余的,而且j是bit型和你要的數(shù)據(jù)類型都不一樣,直接newnum[ i]=m&0x01;
  1. unsigned char newmun[8],i,m=0xc0;
  2. for(i=0;i<8;i++)
  3. {
  4.    newmun[i]=m&0x01;
  5.    m>>=1;
  6. }
復(fù)制代碼

作者: mtt661    時(shí)間: 2022-10-15 18:00
一事無(wú)成 發(fā)表于 2022-10-14 23:28
m>>=1; 加“;”另外j是多余的,而且j是bit型和你要的數(shù)據(jù)類型都不一樣,直接newnum[ i]=m&0x01;

謝謝 我試試
作者: dengweicai    時(shí)間: 2022-10-15 18:04
可以,但是還可以優(yōu)化
作者: MikeCai    時(shí)間: 2022-10-17 11:19
代碼習(xí)慣不好,for 循環(huán)內(nèi)的 i 及k ,m,應(yīng)該用整型,而不是字符型;否則以后你debug會(huì)花更多時(shí)間!!!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1