Re: [问题] 请问我这个程式能用循环做吗?

楼主: pziyout (pziyout)   2020-04-11 10:44:38
※ 引述《IOP14759 (iop14759)》之铭言:
: 开发平台(Platform): (Ex: Win10, Linux, ...)
: WIN8
: 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
: c++builder
: 额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
: 无
: 问题(Question):
: 想请教此程式如果想写成循环该怎么写?
: 程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
: int pcs,ID,count;
: AnsiString bit0,bit1,bit2,bit3,bit4,bit5,bit6,bit7,ID_display;
: //将ID转为2进制的字串
: bit1=(ID&0x02)>>1;
: bit2=(ID&0x04)>>2;
: bit3=(ID&0x08)>>3;
: bit4=(ID&0x10)>>4;
: bit5=(ID&0x20)>>5;
: bit6=(ID&0x40)>>6;
: bit7=(ID&0x80)>>7;
: //////////////////////////////////////////////////////////////////
: if(pcs==1)ID_display=bit7;
: if(pcs==2)ID_display=bit7+bit6;
: if(pcs==3)ID_display=bit7+bit6+bit5;
: if(pcs==4)ID_display=bit7+bit6+bit5+bit4;
: if(pcs==5)ID_display=bit7+bit6+bit5+bit4+bit3;
: if(pcs==6)ID_display=bit7+bit6+bit5+bit4+bit3+bit2;
: if(pcs==7)ID_display=bit7+bit6+bit5+bit4+bit3+bit2+bit1; //最多7个
这段程式看来仅将一个整数取出由右数来第八到第二位元的资料,
pcs 由第八个位元起往右取 pcs 个位元存到 ID_display 字串上。
程式问题还满简单的,以下用一个阵列将不同的 pcs 的结果存起来。
// id = 10110101
int id = 0xb5 ;
string s ;
int i , j , p = 7 ;
vector<string> id_display(p) ;
for ( i = 0 ; i < p ; ++i ) {
s = "" ;
for ( j = p ; j > p-1-i ;

Links booklink

Contact Us: admin [ a t ] ucptt.com