
正文
c语言高低字节函数 c语言占字节数函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言高低字节
int i;
char c;
在内存里是
[_][_][_][_][_]
5个byte空间(指32位操作系统)
c占第1个c语言高低字节函数,i占后4个
scanf("%d", c);就是往c里强制写占4个空间的数据(即int)c语言高低字节函数,即前4个被占c语言高低字节函数了,i的值就被影响了
又由于一个int在4个byte空间里是低位在前,高位排后,所以对于输入的0,1,2,3,4都是第1个空间是有效数值,后三个被置0了,而被置0的后3位对i来说又是低3位(前3位),所以i就是0了
相关问答
Q1: c语言位运算 计算出高低字节 求助大佬
代码c语言高低字节函数:
#include stdio.h
int main()
{
short a;
scanf("%hd",a);
printf("the value of low byte is %#hx\n",0xffa);
printf("the value of high byte is %#hx\n",0xff00a);
return 0;
}
截图c语言高低字节函数:
Q2: c语言实现2个字节的高低位转化
2个字节short int 高低位转化:
short int y=0x7f21;
y = ( (y 0xff00) 8) | ( (y 0x00ff ) 8);
printf("%#x",y);
-------------------------------
也可以利用 union
union B2
{
short int i;
unsigned char c[2];
// 。。。任意两字节类型
} ;
union B2 x;
unsigned char tmp;
x.i=0x1234;
tmp = x.c[0]; x.c[0]=x.c[1];x.c[1]=tmp;
// 也可以用上面的位运算方法交换高低端
printf("%#x\n",x.i);
// union 方法特别适合4字节8字节 大端小端码的转换操作。
Q3: 写c语言,一个函数分别打印它的高字节和低字节,并编写主程序测试?
void prtbyte(unsigned short x)
{printf("High Byte:%x\n",x8);
printf("Low Byte:%x\n",x0xff);
}
int main()
{unsigned short x;
scanf("%hu",x);
prtbyte(x);
return 0;
}
Q4: C语言-共用体高低字节
①理论
共用体和结构体类似,
区别在于:
共用体成员共享一段公共存储空间。
占字节多的成员决定共用体总字节,
占字节少的成员在总字节的低位。
高低字节可简单理解为:
1100,00就是低字节,11就是高字节。
~
②说明
#include stdio.h
/*共用体类型的说明*/
union change
/*共用体类型的标志:union
共用体标识名:change */
{char c[2];
short int a;}
/*共用体类型的两个成员:c[2]和a。
2个字符占2个字节,一个短整型占2个字节。即占字节多的a,可以拆分成占字节少的2个字符。低位字节c[0],高位字节c[1]。*/
un;
/*共用体类型的变量: un*/
~
③主函数
main()
{un.a=16961;
/*短整型a赋值为16961,
对应二进制码为100001001000001。
分成两段:
高位c[1]和低位c[0]
01000010和01000001
还原成整型:66和65
ASCLL码对应字符:'B'和'A'*/
printf("%d,%c\n",un.c[0],un.c[0]);
/*输出un.c[0]为66,'B'。*/
printf("%d,%c\n",un.c[1],un.c[1]);}
/*输出un.c[1]为65,'A'。*/
关于c语言高低字节函数和c语言占字节数函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








