社区
C++ 语言
帖子详情
超过32位的2进制数转换成10进制数输出
wbs89
2008-03-12 09:46:51
比如一个二进制数01010010000111110111110110110011001011111110011111100000001
则输出184924582623264513
注:二进制数不超过64位
课本上的习题,找不到答案
本人系新手,望赐教、、、
...全文
153
3
打赏
收藏
超过32位的2进制数转换成10进制数输出
比如一个二进制数01010010000111110111110110110011001011111110011111100000001 则输出184924582623264513 注:二进制数不超过64位 课本上的习题,找不到答案 本人系新手,望赐教、、、
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wbs89
2008-03-14
打赏
举报
回复
多谢
taodm
2008-03-13
打赏
举报
回复
用long long int/int64/__int64类型即可。现在所有主流编译器都提供了64位长整型的。
wukexin
2008-03-13
打赏
举报
回复
/*
比如一个二进制数01010010000111110111110110110011001011111110011111100000001
则输出184924582623264513
注:二进制数不超过64位
课本上的习题,找不到答案
本人系新手,望赐教、、、
*/
#include <iostream>
#include <string>
#include <cmath>
#include <boost/lexical_cast.hpp>
#include <boost/dynamic_bitset.hpp>
#include <boost/static_assert.hpp>
using namespace std;
//
unsigned long long pow64(unsigned base,unsigned exp){
unsigned long long result=1;
for(unsigned i=1;i<=exp;i++){
result*=base;
}
return result;
}
//
unsigned long long sToN(string s){
boost::dynamic_bitset<> bs(s);
unsigned long long result=0;
for(int i=0;i<bs.size();i++){
if( bs.test(i) ) result+=pow64(2,i);
}
return result;
}
//
int main(int argc, char* argv[]){
try{
//cout<<"请输入一个二进制数:";
//string s;
//cin>>s;
//cout<<sToN(s)<<"\n";
string temp("01010010000111110111110110110011001011111110011111100000001");
cout<<"184924582623264513\n"<<sToN(temp)<<"\n";
//BOOST_STATIC_ASSERT( sToN(temp) == 184924582623264513);
}
catch(exception& e)
{
cout << e.what() << "\n";
return 1;
}
return 0;
}
C语言算法之将十进制
数
转换成
二进制
数
导语:在C语言中没有将其他进制的
数
直接
输出
为二进制
数
的工具或方法,
输出
为八进制
数
可以用%o,
输出
为十六进制可以用%x,
输出
为二进制就要我们自行解决了。下面给大家讲述一下如何编程实现将十进制
数
转换成
二进制
数
。 先将源代码展示给大家: #include <stdio.h> void main() { //进制转换函
数
的声明 int transfer(int x)...
java递归十进制换成二进制_递归—将十进制
数
转换成
二进制形式
将十进制
数
转换成
二进制形式(比较复杂)下面用递归方式来实现将十进制
数
转换成
二进制形式的字符串,在编写这个程序之前,必须先了解熟知的进制表示原理,同样一个
数
值,可以用多种进制进行表示,就好比同样的钱,可以用多种度量单位。所谓要讲一个十进制
数
转换成
二进制
数
形式,启示,就是计算出该
数
值的二进制形式,只是我们通常习惯用十进制表示一个
数
值,所以,一个二进制
数
值也可以理解成是有某个十进制
数
转换成
的。为了便于理...
汇编语言:将四位十六进制
数
转换成
二进制
数
汇编语言:将四位十六进制
数
转换成
二进制
数
题目要求运行截图编程平台代码实现 题目要求 从键盘接收一个四位的十六进制
数
,将其
转换成
二进制
数
后
输出
,不考虑错误输入。 运行截图 编程平台 Masm for Windows 集成实验环境 2012.5 代码实现 DATAS SEGMENT data DW 0;存放输入的十六进制
数
input DB 'Enter a four-digit hexadecimal number: $' print DB 13,10,'Corresponding
将P进制
数
转换成
Q进制
数
将P进制
数
转换成
Q进制
数
需要两个步骤: 将P进制
数
转换成
十进制
数
; 将十进制
数
转换成
Q进制
数
. 下面是我写的实现: /* 任意进制的转换需要两个步骤: * (1)将P进制
数
转换成
十进制
数
; * (2)将十进制
数
转换成
Q进制
数
。 */ #include <iostream> #include <string> #include <stack> us...
10进制
数
转换成
16进制
十六进制的元素个
数
固定,而且还有对应编号,可以用查表法.一个int类型十进制
数
在
32位
操作系统中占4个字节,
32位
2进制
数
取它的低8位,例如60,在内存中以二进制
数
0011 1100存放,而一个十六进制
数
中每一位
数
对应二进制中4位
数
,因此可以将十进制
数
与F进行“与(&)”运算,得出低四位(十六进制中的最低位),然后左移4位继续与F与运算,得出十六进制
数
的所有位
数
,然后存在一个
数
组中,存储的是它从最
C++ 语言
65,206
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章