asm, c, c++ are my all
-- Core In Computer
C++博客
首页
新文章
新随笔
聚合
管理
posts - 139, comments - 123, trackbacks - 0
[转自沐枫兄]用bitset进行2进制输入输出
[转自沐枫兄]用bitset进行2进制输入输出
C/C++内置的输入、输出,对整数进制只支持三种:8进制、10进制、16进制。记得很久以前,有好几次想用到2进制的输入输出,最终只好自已转换。
昨天kaikai突然发了一个POST:
kaikai:
看看能不能把这个程序改得更短
?
#include
<
cstdio
>
int
main()
{
char
*
a,b[
33
];
scanf(
"
%*d
"
);
while
(scanf(
"
%s
"
,b)
==
1
)
{
int
d
=
0
;
for
(a
=
b;
*
a;)d
=
d
*
2
|*
a
++%
2
;
printf(
"
%d.%d.%d.%d\n
"
,d
>>
24
&
255
,d
>>
16
&
255
,d
>>
8
&
255
,d
&
255
);
}
return
0
;
}
一眼看过去,呵呵,输入输出不可省,核心还是二进制的转换问题。于是想起以前曾经做过的事情,学习多了,直觉的可以用bitset来实现。打开MSDN,查找bitset,嘿,果然有定义流输入操作符。
写了一个测试:
#include
<
iostream
>
#include
<
bitset
>
using
namespace
std;
void
main()
{
bitset
<
32
>
a;
cin
>>
a;
cout
<<
a.to_ulong()
<<
endl;
}
呵呵,搞定了,输入2进制,输出10进制,完全正常。以后输入2进制串的时候,就不需要自已转换了。
posted on 2006-06-29 20:22
Jerry Cat
阅读(351)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
<
2006年6月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔档案
2007年1月 (1)
2006年12月 (3)
2006年11月 (8)
2006年10月 (17)
2006年9月 (18)
2006年8月 (3)
2006年7月 (30)
2006年6月 (23)
2006年5月 (23)
2006年4月 (13)
最新随笔
1. C++老手也要注意的几个"小"问题
2. 全新计算机书籍特价转让
3. 长用不变的FTP账号
4. [转]利用MFC的Csocket类实现网络通信
5. C++对象模型(14) - 3.6 Pointer to Data Members
6. 用内联汇编调虚函数, 理解VTABLE原理
7. C++对象模型(13) - 3.5 Object Member Efficiency
8. C++对象模型(12) - 3.4 Inheritance and the Data Member
9. C++对象模型(11) - 3.3 Access of a Data Member
10. C++对象模型(10) - 3.2 Data Member Layout
搜索
最新评论
1. re: 比库函数memcpy还高效的memcopy - 美妙的内嵌汇编[未登录]
你妹的 写的不错
--hu
2. re: C与C++编程一头一尾最重要, 无数英雄折腰, 多少豪杰翻船![未登录]
评论内容较长,点击标题查看
--z
3. re: 比库函数memcpy还高效的memcopy - 美妙的内嵌汇编
@打酱油的
你妹的,必须道歉了,这个效率确实很高,我起初测了下速度,发现fbcopy比memcpy慢了太多,就断定你写的有问题
现在才发现是编译器__inline它不给你内联
--打酱油的
4. re: 比库函数memcpy还高效的memcopy - 美妙的内嵌汇编
这你妹,你第一次学会内联汇编么,这么激动
自己去看看vcmemcpy汇编出来的代码是什么,然后再看看自己写的是神马玩意儿是多么的单纯
--打酱油的
5. re: Linux静态、共享和动态库之编程
精辟
--Haifeng
阅读排行榜
1. [转]GridCtrl使用详解(5391)
2. 比库函数memcpy还高效的memcopy - 美妙的内嵌汇编(5345)
3. C++面试题集1(5097)
4. VC++的链接错误LNK2005(3900)
5. C++面试题集4(3893)
评论排行榜
1. C++面试题集4(10)
2. Vista下编程的困惑 - C#最好还是不要用于桌面应用(9)
3. "C++你知道吗?" 之 几个冷僻的关键字(7)
4. C与C++编程一头一尾最重要, 无数英雄折腰, 多少豪杰翻船!(7)
5. 非“伪”随机数的生成(7)