c语言中如何把一个char的变量的高4位与低4位分离开来

c语言中如何把一个char的变量的高4位与低4位分离开来一个char的变量高4位与低4位分离开来,不是a=&0x0f和b=&0xf0吗?我这样写的低位分离ok,但高4位出现乱码,后改成a=&0x0f和b=&0x0f就ok了,不知道为什么?求大神解答

高位还要右移4位。
例如:
char c=0x34,a,b;
a = (c & 0xf0)>>4;
b = (c & 0x0f);
printf("0x%02x 0x%02x",a,b);
输出0x03 0x04
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言中如何把一个char的变量的高4位与低4位分离开来
高位还要右移4位。例如:char c=0x34,a,b;a = (c & 0xf0)>>4;b = (c & 0x0f);printf("0x%02x 0x%02x",a,b);输出0x03 0x04

c语言中怎样将一个变量高低4位交换
\/*这个函数的功能是传一个8位的数进来,返回一个经过高低4位交换的数*\/ char exchange(char source){ char up = source << 4;\/*将source右移取高四位,低四位补0赋值给up,*\/ char low = source >> 4;\/*将source左移取低四位,高四位补0赋值给low.*\/ return up + low;\/*两者相加即...

C语言中如何将变量123.4的个位、十位、百位、小数位分别取出来_百度知 ...
void main(){ double x = 123.4;char n[11];sprintf(n,"%lf",x);printf("%s\\n",n);} 很多分离数位的问题转换成字符串要很好处理。比如说 1:判断一个书是否是回文数。把这个数变成字符串就很好处理。2:处理大整数问题,因为C中的整型,长整型等数都有存储范围,所以不能处理大整数的问...

把20H单元中的8位数据拆开高4位送入21H低四位送入22H用c语言写?_百度...
可以使用位运算符和移位操作来实现将一个字节拆分成高4位和低4位,并存储到不同的地址。以下是示例代码:unsigned char data = 0x3F; \/\/ 假设要拆分的数据为0x3F unsigned char high = data >> 4; \/\/ 右移4位得到高4位 unsigned char low = data & 0x0F; \/\/ 与0x0F进行按位与运算得...

C语言用char型定义变量高低半字节转换?
char b = i & 0x0f;i = (i >> 4) | (b << 4);

如何将c语言数值最高位和最低位字节取出
和00000001按位与(&) 强制转换成要赋值的类型,最高位同理

C语言中的ascII码表怎么看,高四位,低四位又是什么呢?
ascii码在C语言中用char型存储,一个char占一个字节,即8位。8个0或者1的数字,这8个数字中,左边四个称为高四位,右边四个称为低四位。

C语言编程如何将一位正整数,从高位到低位分开输出。如1235,输出:1,2...
把 正整数 当字符串处理就行了。 char n[20]; scanf("%s",n); for(i ~ n[i]!='\\0') printf("%c ", n[i]);

用C语言写一个使单片机P3口高四位LED和低四位LED轮流点亮的程序。
是指 高4位 一起亮,然后换 低4位 一起亮吗?如果是,那主函数应该是:void main(){ P3=0x0f;while(1){ P3=~P3;delay();} } 至于LZ出现的问题,那是因为 LZ 的每一行 赋值,都改变了原来的灯,导致到最后(延时函数之前)只有一个灯是亮的,2次延时,结果 只能看到2个灯是亮的。

C语言中,左移4位是不是把高4位移到左边的内存格中? 比如char str[]=...
肯定不是了。char类型就是一个字节。每个字符都在自己的8位上进行运算。单个字符左移右移就是指对应的ascii码进行相关的左移右移。

相似回答