| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 282 人关注过本帖
标题:一道c++题的算法?
只看楼主 加入收藏
moonandsun
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-10-23
收藏
 问题点数:0 回复次数:7 
一道c++题的算法?

c++编程输出long duoble型数12345067891023456的二进制位码?
请高手能给出程序谢谢了.
我有个在网上找的看不明白大家帮着侃侃
#include<iostream>
using namespace std;

void showbin(int n)
{
static char s[9];
for (int i =0;i<8;i++)
{
s[7-i] = n%2==0?48:49;
n/=2;
}
s[8] = 0;
cout<<s;
}

main()
{
double d = 12345.67891023456;
char t;
char* q;
int k;
for (int i=0;i<8;i++)
{
t = *((char*)&d+i);
showbin(int(t));
}
cout<<endl;
}

搜索更多相关主题的帖子: 算法 
2007-10-23 11:17
酒浪子
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2007-9-25
收藏
得分:0 
顶!
2007-10-24 20:25
冰山雪狼
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-10-24
收藏
得分:0 
还没有学过这个东西.....
帮不了你,还是请高手来吧

2007-10-24 21:58
yephone
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-3-19
收藏
得分:0 
2007-10-26 13:59
yoapple
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-10-13
收藏
得分:0 

void displayinbase(int n,int base)//2<=base<=10,base就是你要转换的进制,如2,8进制
{
if(n>0)
{
displayinbase(n/base,base);
cout<<n%base;
}
}
这是一个递归算法,比上面的方法好多了


2007-10-26 15:33
dadoujiao
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-9-28
收藏
得分:0 

2007-10-26 15:42
liuming836
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-10-26
收藏
得分:0 
找书看看
2007-10-26 15:56
DaTun
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-19
收藏
得分:0 
这个程序要求是long double 型,这个数不应该只限制在整数范围内,有小数部分的话程序应该复杂些
编程的过程应该顺着十进制数转换成二进制数的方法编
2007-10-26 21:40
快速回复:一道c++题的算法?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024002 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved