| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 814 人关注过本帖
标题:[求助]关于二进制
只看楼主 加入收藏
wenzhou20
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-8-23
收藏
 问题点数:0 回复次数:6 
[求助]关于二进制
各位好,请问那个二进制,八进制,十六进制这些数,都是怎么转换的啊?
我搞不懂,哪位可以帮我讲解一个吗?
先谢啦!
搜索更多相关主题的帖子: 二进制 
2006-09-14 10:48
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
加我QQ,我给你讲

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-09-14 18:12
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
十进制转其它进制是用其它进制除十进制数,
取余,直到商为0,这时把余数倒过来就是二进制了

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-09-14 18:15
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
刚才刚到一个镜头

车子突然转弯,两个人,A和B

B把A的身体撞了下,
A马上转头对B说:操你妈.
B慢慢的转过头来瞪了一会儿A.
A的表情由凶狠转到不自然的假笑.
嘿....嘿嘿

B:白痴

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-09-14 18:18
走火
Rank: 1
等 级:新手上路
帖 子:426
专家分:0
注 册:2005-12-28
收藏
得分:0 
我觉得A太会审时度势了

我是一只小菜鸟,请大家多多照顾! QQ 87135637
2006-09-14 18:19
honkerman
Rank: 2
等 级:新手上路
威 望:4
帖 子:3078
专家分:0
注 册:2006-8-25
收藏
得分:0 
好冷~

" target="_blank">God Bless You[GLOW=255,#00ff00,2]My Friends![/GLOW]
2006-09-14 19:54
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用wenzhou20在2006-9-14 10:48:16的发言:
各位好,请问那个二进制,八进制,十六进制这些数,都是怎么转换的啊?
我搞不懂,哪位可以帮我讲解一个吗?
先谢啦!

可以看点汇编之类的书.
十进制转换为其他进制用求余,最先出来的余数是最高位.
二进制转八进制,十六进制有简便方法.
2进制转8(16)进制,从小数点往右数,每3(4)位化成一位8(16)进制位,不够的最低位补齐0(小数后加0,其值不变).
小数点往左走每3(4)位化成一位8(16)进制位,不够的最高位补齐0(整数最高位前加0,其值不变).
8(16)进制转2进制反之.

8.16进制的转换都可以先转换成2进制,再将其转换到所求的进制.
其他进制数转换成10进制就是按权展开相加就可以.


#include<stdio.h>
#define MAXSIZE 100

typedef struct
{
int a[MAXSIZE];
int top ;
}sequence_stack ;


void init_seqstack(sequence_stack*st)
{
st->top=0 ;
}

void printseqstack(sequence_stack*st,int m)
{
int i ;

i=st->top-1 ;
while(i>=0)
{
/*十进制转换为十六进制*/
if(m==16)
{
switch(st->a[i])
{
case 10 :
printf("A");
break ;
case 11 :
printf("B");
break ;
case 12 :
printf("C");
break ;
case 13 :
printf("D");
break ;
case 14 :
printf("E");
break ;
case 15 :
printf("F");
break ;
case 9 :
case 8 :
case 7 :
case 6 :
case 5 :
case 4 :
case 3 :
case 2 :
case 1 :
case 0 :
printf("%d",st->a[i]);
break ;
}
}
else
{
printf("%d",st->a[i]);
}
i--;
}
}

/*堆栈存放各个数*/
void jzhzhh(sequence_stack *st,int n,int m)
{
int i=0 ;

while(n!=0)
{
st->a[i]=n%m ;
n=n/m ;
st->top++;
i++;
}
}

int main()
{
int n,m ;
sequence_stack p ;

printf("十进制数n=");
scanf("%d",&n);
printf("进制m=");
scanf("%d",&m);
init_seqstack(&p);
jzhzhh(&p,n,m);
printseqstack(&p,m);
printf("\n");
return(0);
}

/*十进制数转其他进制数*/


倚天照海花无数,流水高山心自知。
2006-09-14 20:06
快速回复:[求助]关于二进制
数据加载中...
 
   



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

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