sprintf函数的运用

swamsea 2012-04-14 04:23:30
sprintf(sumsz,"%b",(int)number1);前提是number1是float型
这样为什么不行,我是想让number1以二进制输出,怎么样做才能行的通呢?求指教
...全文
196 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shilei_c 2012-04-15
  • 打赏
  • 举报
回复
可以用bitset。
float number1=12.3;
bitset<4*sizeof(int)> bitsetVal(number1);
cout<<bitsetVal.to_string()<<endl;
swamsea 2012-04-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:

问题在于没有二进制的输出格式。

自己转换;
或者先转换成16进制,然后按字典方式转换到2进制。

++
[/Quote]++,什么意思啊
qqq632263007 2012-04-15
  • 打赏
  • 举报
回复
设计到组成原理了,可以用atof转换成浮点型,然后从内存取位,每一位都转变成字符输出
goldbeef 2012-04-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

引用 3 楼 的回复:

问题在于没有二进制的输出格式。

自己转换;
或者先转换成16进制,然后按字典方式转换到2进制。

++
++,什么意思啊
[/Quote]顶的意思
goldbeef 2012-04-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

问题在于没有二进制的输出格式。

自己转换;
或者先转换成16进制,然后按字典方式转换到2进制。
[/Quote]++
swamsea 2012-04-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

设计到组成原理了,可以用atof转换成浮点型,然后从内存取位,每一位都转变成字符输出
[/Quote]能具体点吗?写个代码?
liutengfeigo 2012-04-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

问题在于没有二进制的输出格式。

自己转换;
或者先转换成16进制,然后按字典方式转换到2进制。
[/Quote]
++
jixingzhong 2012-04-14
  • 打赏
  • 举报
回复
问题在于没有二进制的输出格式。

自己转换;
或者先转换成16进制,然后按字典方式转换到2进制。
swamsea 2012-04-14
  • 打赏
  • 举报
回复
嗯,sumsz定义的是uchar型数组
C__Allen 2012-04-14
  • 打赏
  • 举报
回复
二进制输出到sumsz?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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