标题:
请教一个简单的C语言数据转换的问题
[打印本页]
作者:
mtt661
时间:
2022-10-14 22:56
标题:
请教一个简单的C语言数据转换的问题
unsigned char i,k,l,m=0x3f;
bit j;
for(i=0;i<8;i++)
{
j=m&0x01; //依次取出低位数据
m>>=1
k=j;
newnum[l++]=k;
}
复制代码
以上运算是不是可以得到一个数组newnum[]={0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00};
作者:
adject
时间:
2022-10-14 23:19
的确是这样的
作者:
Hephaestus
时间:
2022-10-14 23:20
细节上还有点儿小毛病,比如l没有初始化,但总体思路没有错。
作者:
一事无成
时间:
2022-10-14 23:28
m>>=1; 加“;”另外j是多余的,而且j是bit型和你要的数据类型都不一样,直接newnum[ i]=m&0x01;
unsigned char newmun[8],i,m=0xc0;
for(i=0;i<8;i++)
{
newmun[i]=m&0x01;
m>>=1;
}
复制代码
作者:
mtt661
时间:
2022-10-15 18:00
一事无成 发表于 2022-10-14 23:28
m>>=1; 加“;”另外j是多余的,而且j是bit型和你要的数据类型都不一样,直接newnum[ i]=m&0x01;
谢谢 我试试
作者:
dengweicai
时间:
2022-10-15 18:04
可以,但是还可以优化
作者:
MikeCai
时间:
2022-10-17 11:19
代码习惯不好,for 循环内的 i 及k ,m,应该用整型,而不是字符型;否则以后你debug会花更多时间!!!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1