| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 357 人关注过本帖
标题:有代码,小部分还没写好,希望大大门能够帮下忙
只看楼主 加入收藏
hbacc2047003
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-6-21
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
有代码,小部分还没写好,希望大大门能够帮下忙
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
    char temp[8];
    printf("请输入八位16进制数:\t");
    int a[32],T[4],
    int i,j,k;
    fflush(stdin);
    gets(temp);
    for(i=0;i<8;i++)
    {   
        switch(temp[i])
        {
        case '0':
            T[0]=0;T[1]=0;T[2]=0;T[3]=0;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '1':
            T[0]=0;T[1]=0;T[2]=0;T[3]=1;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '2':
            T[0]=0;T[1]=0;T[2]=1;T[3]=0;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '3':
            T[0]=0;T[1]=0;T[2]=1;T[3]=1;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '4':
            T[0]=0;T[1]=1;T[2]=0;T[3]=0;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '5':
            T[0]=0;T[1]=1;T[2]=0;T[3]=1;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '6':
            T[0]=0;T[1]=1;T[2]=1;T[3]=0;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '7':
            T[0]=0;T[1]=1;T[2]=1;T[3]=1;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '8':
            T[0]=1;T[1]=0;T[2]=0;T[3]=0;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case '9':
            T[0]=1;T[1]=0;T[2]=0;T[3]=1;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case 'A':
            T[0]=1;T[1]=0;T[2]=1;T[3]=0;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case 'B':
            T[0]=1;T[1]=0;T[2]=1;T[3]=1;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case 'C':
            T[0]=1;T[1]=1;T[2]=0;T[3]=0;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case 'D':
            T[0]=1;T[1]=1;T[2]=0;T[3]=1;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case 'E':
            T[0]=1;T[1]=1;T[2]=1;T[3]=0;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        case 'F':
            T[0]=1;T[1]=1;T[2]=1;T[3]=1;
            for(j=4*i,k=0;(j<4*i+4)&&k<4;j++,k++)
                a[j]=T[k];
            break;
        }
        
    }
        printf("在IEE754型中存储的形式为:\n");
        for(j=0; j<32; j++)
        printf("%d",a[j]);
        printf("\n");
    int jw[8];
    for(i=1;i<=8;i++)
    {
        jw[i-1]=a[i];

    }
   

    int jc;
    jc=jw[7]*1+jw[6]*2+jw[5]*4+jw[4]*8+jw[3]*16+jw[2]*32+jw[1]*64+jw[0]*128;

    int e;
    e=jc-127;
//    printf("%d",e);

        
    int hou[24];
    hou[0]=1;  // 第一位补一
    for(i=1,j=9;i<24;j++,i++)
    {
        hou[i]=a[j];
    }
    printf("输出后的24位为:\n");
    for(i=0;i<24;i++)
        ;

//        printf("%d",hou[i]);


 
   
    int x=1;              //
    char f[100];
    int zheng=0,xiao=0;
    if(e>=0)
    {
        
      //这里一部分      
                  
        
    }




}

这个程序的目的是输入一个8位16进制的数字,然后经过IEE754型转换,最后以10进制输出

这段程序已经把经过IEEE754型转换后的2进制算出来了,32位数字也表示好了,只需要把这32位的2进制转换成10进制

PS,这个10进制是带小数的。。。谢谢。。。
搜索更多相关主题的帖子: 小部分 大门 代码 
2010-06-25 20:19
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:7 
我发现现在的人写的代码怎么这样不好看呀?????这是为什么呢??呵呵!
举一个例子吧!!!!

例子1
#include"stdio.h"
void
main()
{
    int i,s;
    s = 1;
    for( i = 1;s <= 20;s ++ )
        i = i * s;
    printf( "%d",i );
}

例子2
#include"stdio.h"
void main()
{
    int i,s;
    s=1;
    for(i=1;s<=20;s++)
        i=i*s;
    printf("%d",i);
}
比较一下这两个例子有什么不同的!!!

愿用余生致力编程
2010-06-25 21:36
hbacc2047003
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-6-21
收藏
得分:0 
回复 2楼 我菜119
T.T

不好看。。。好吧。。。刚学C语言。。。这方面还没严格要求。。。
2010-06-25 22:26
快速回复:有代码,小部分还没写好,希望大大门能够帮下忙
数据加载中...
 
   



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

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