注册 登录
编程论坛 C++教室

如何转换二进制数?

zzh193 发布于 2007-06-02 22:48, 1442 次点击
请教高手C++转换二进制数问题
有3个二进制数如下:
01010010000111110111110111111110101010000111101111111111001
10000000000000000000111111010100100000010100000011101010010
100001
在文件中以数字串的形式存放,每行只放一个数。请编程以十进制形式
输出。
5 回复
#2
aipb20072007-06-02 23:14
用bitset
#3
herbert_19872007-06-03 02:10
以下是引用aipb2007在2007-6-2 23:14:17的发言:
用bitset

bitset 是什么来的?

#4
herbert_19872007-06-03 02:15
拿楼主所说的第三个数来说:
100001
它的十进制数为:
n = 1 * 2^5 + 0 * 2^4 + 0 * 2^3 + 0 * 2^2 + 0 * 2^1 + 1 * 2^0
= 33
很容易实现呀~
#5
aipb20072007-06-03 10:10
回复:(herbert_1987)以下是引用aipb2007在2007-6-2...
bitset是标准库2进制位集。可以解决与2进制相关的很多问题。去msdn下就知道了。

楼主这里涉及两个问题,一个是转化,还有个大数的存储问题。第1,2个数都超过32位了。
#6
zzh1932007-06-04 23:19
注意:以十进制形式(也即字符形式)
输出,并不是整数形式.
1