C语言截取字符串问题~
有一个问题求解~我现在从PLC读取出了一个16进制的数,比如FFFF,我想咨询下如何用C语言实现首先把FFFF转换为2进制,之后循环读取每一位从0位开始到15位结束,每一位读取后与1进行比较,等于1则显示某个红色,小于1显示绿色,之后如果有红色有绿色则显示绿色~
[解决办法]
- C/C++ code
//读取出了一个16进制的数,比如FFFF,//用C语言实现首先把FFFF转换为2进制,//之后循环读取每一位从0位开始到15位结束,//每一位读取后与1进行比较,等于1则显示某个红色R,等于0则显示绿色G#include <stdio.h>void main() { unsigned short int v; int i; v=0xFFFFu; for (i=0;i<16;i++) { if (v&(1<<i)) printf("R"); else printf("G"); } printf("\n"); v=0x0F1Fu; for (i=0;i<16;i++) { if (v&(1<<i)) printf("R"); else printf("G"); } printf("\n");}//RRRRRRRRRRRRRRRR//RRRRRGGGRRRRGGGG