69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
void main()
{
char *s="abcd";
unsigned char *p=s;
int i=0;
for(;*p!=0;p++)
{
for ( i=7;i>=0;i--)
{
unsigned char a=0;
unsigned char b=0x01;
a=( (*p)>>i )&b; /*可见内循环*p的值是不变的 */
printf("%u",a);
}
}
}//这是将*s转换为二进制的代码
char *s="01100001011000100110001101100100";
char *p = s;
unsigned char c;
while('\0' != *p)
{
c = 0;
for(int i = 0; i < 8; i++)
{
c = (c << 1) + *p - '0';
p++;
}
printf("%c",c);
}
char buf[9] = {0};
char *s="abcd";
char *p = s;
while('\0' != *p)
{
itoa(*p, buf, 2);
printf("%08s,",buf);
p++;
}
char buf[9] = {0};
char *s="01100001011000100110001101100100";
char *p = s;
char *end = NULL;
unsigned char c;
while('\0' != *p)
{
memcpy(buf,p,8);
c = (char)strtol(buf,&end,2);
p+=8;
printf("%c",c);
}