首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

long ld=0x1a2b3c4dl 利用指针跟字节长度输出里面的 a和3 求教啊 经理难为人

2012-12-30 
long ld0x1a2b3c4dl 利用指针和字节长度输出里面的 a和3 求教啊 经理难为人long ld0x1a2b3c4dl 利用指针

long ld=0x1a2b3c4dl 利用指针和字节长度输出里面的 a和3 求教啊 经理难为人
long ld=0x1a2b3c4dl 利用指针和字节长度输出里面的 a和3 求教啊 经理难为人
[解决办法]

#include<stdio.h>
void main()
{long ld=0x1a2b3c4d;
printf("%x\n",(((unsigned long)ld)<<4)>>28);
printf("%x",(((unsigned long)ld)<<16)>>28);



}

[解决办法]
printf("%x\n",(((unsigned long)ld)<<4)>>28); 
将ld转换成无符号整数,否则会进行算术右移。
0x1a2b3c4d-->0xa2b3c4d0 --> 0xa
printf("%x",(((unsigned long)ld)<<16)>>28); 

[解决办法]

#include <stdio.h>

int main(int argc, char* argv[])
{
long ld = 0x1a2b3c4dl;
char* p = (char*)&ld;

printf("%x, %x\n", p[1] >> 4, p[3] & 0x0f);

return 0;
}

热点排行