又有问题了,十进制的字符串如何转换成二进制的字符串?

1231938625 2004-01-02 03:06:43
如题
...全文
145 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangshoubu 2010-05-31
  • 打赏
  • 举报
回复
CString CPlcDlg::dtob(BYTE temp)//十进制整数转二进制字符串
{
char p[8];
CString temp1,temp2;
temp1=itoa(temp,p,2);
temp2.Format("%08s,",temp1);
return(temp2);
}
AkiraChing 2004-01-02
  • 打赏
  • 举报
回复
CString strNum10="123",strNum2;
_ltot(_tstol(strNum10),strNum2.GetBufferSetLength(255),2);
victor_cui 2004-01-02
  • 打赏
  • 举报
回复
呵呵,这可是我的强项
string DToA(unsigned long dvalue, unsigned step){

if(step < 2 || step > 36) return NULL;

//bool bnegative = dvalue > 0 ? false : true;
char buff[BUFFSIZE] = {0};
unsigned pos = BUFFSIZE - 1, tmpValue = dvalue, tv;
while(true){
buff[--pos] = (tv = tmpValue % step) > 9 ? (tv - 10) + char('A') : tv + char('0');
if((tmpValue /= step) == 0)
break;
}
string result (&buff[pos]);
return result;
}

上面是一个我做的一个通用函数,首先把字符串转换成十进制数
long val = atoi(decstr);
调用我的函数:
std::string mybinstr = DToA(val, 2);//转换成2进制
如果转换成8进制
std::string myostr = DToA(val, 8);
upuper 2004-01-02
  • 打赏
  • 举报
回复
up
anothervip 2004-01-02
  • 打赏
  • 举报
回复
比较笨的一个方法:

你可以先把这个十进制的字符串转换为一个整形数,比如用循环调用atoi() 。

之后,将这个数移位进一个整形数组,然后再用itoa()变为二进制字符串。
broadoceans 2004-01-02
  • 打赏
  • 举报
回复
char source[10]="123";
int i = atoi(source,10);
char dest[100];
itoa(i,dest,2);
则dest即为所求。
bluebohe 2004-01-02
  • 打赏
  • 举报
回复
char str1[256];
char str2[256];
strcpy(str1,"100");
int i=atoi(str1);
itoa(i,str2,2);
//str2即为所求

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧