如何把byte 0x05转成char b=101显示,再把b=101转成0x05.

nannet 2004-01-08 02:31:19
我是想以字符串显示二进制的每一位,0x05=00000101,再把二进制显示的字符转成0x05
...全文
97 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jawibn 2004-01-08
  • 打赏
  • 举报
回复
"我是想以字符串显示二进制的每一位,0x05=00000101,再把二进制显示的字符转成0x05"
有问题吧?
如果
int x = 0x05;
只需要显示出来而已,使用时仍然是x,因此只需要一个二进制显示函数而已,何需抛弃了x再转回来,岂不是自找麻烦!除非你仍有字符串的二进制,那时必须要转的!
Jinhao 2004-01-08
  • 打赏
  • 举报
回复
自己写一个
void fun1(int data,char str[9]) //十进制转二进制
{
for(int i=0;i<8;i++)
if(data&(1<<i)) str[7-i]='1'; else str[7-i]='0';
str[8]=0;
}

int fun2(char str[9]) //二进制转十进制
{
int iresult=0;
for(int i=0;i<8;i++)
if(str[i]=='1') iresult+=(1<<(7-i));
return iresult;
}


int main()
{
int i=5;
char str[9];
fun1(i,str);
cout<<str<<endl;
cout<<fun2(str)<<endl;
system("pause");
}
sunwt 2004-01-08
  • 打赏
  • 举报
回复
在msdn里搜索 _itoa

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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