一个C语言的函数,求解答
void To2Bin(char p[8],int b[64]) //将字节转换成二进制流{
int i,k=0;
for(i=0;i<8;i++)
{
int j=0x80;
for(;j;j>>=1)
{
if(j&p[i])
{
b[k++]=1;
}
else
{
b[k++]=0;
}
}
}
}
红色字体的代码块的具体含义。
为什么J要是80;if语句有什么用?
C 二进制 --------------------编程问答-------------------- 没有人吗?????? --------------------编程问答-------------------- for(;j;<j<<=1)
提示 >>=1 是移位,也就是 除2
--------------------编程问答-------------------- 0x80是二进制的 10000000
右移一位 就是 01000000
整数和他做与(&)操作得到的就是二进制咯 --------------------编程问答-------------------- 你们说的我都知道。假如说我p数组是197abc51第一轮for结束后b数组存的就是0000001完全不能够反映出我的原数据 --------------------编程问答-------------------- 来人啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- 0000001 不就是 197abc51中第一个字节‘1’的二进制吗? --------------------编程问答-------------------- 顶sizyx --------------------编程问答-------------------- 好了,谢谢大家。明白了 --------------------编程问答--------------------
补充:.NET技术 , VC.NET