千杯不醉的关关 发表于 2018-6-20 20:30:21

求一个代码:将一个二维数组中的数据转换为二进制并转存

转换二进制
功能要求:
将数组中的数据转换为二进制并转存到另一数组中输出



#include <stdio.h>
#include "stdlib.h"
#include "time.h"
int main(int argc,char *argv[])
{
    int a,i,j;
    srand((unsigned)time(NULL));
    for(i=0;i<10;i++)
        {
      for(j=0;j<10;j++)
                printf("%3d",a=rand()%100);
      printf("\n");
        }
}

qq1242009750 发表于 2018-6-20 20:30:22

#include <stdio.h>

//此函数主要模拟除二取余,要在转换的地方使用此函数即可
signed int DecToBin(signed int Dec)
{
        signed int Bin = 0;

        do
        {
                Bin *= 10;                        //升级十进制的位
                Bin += Dec % 2;                //取余
                Dec /= 2;                        //除二

        } while (Dec > 0);

        return Bin;
}



int main(void)
{
        printf("100Dec = %dBin", DecToBin(100));
       

        getchar();
        return 0;
}

人造人 发表于 2018-6-20 21:14:32

不明白你在问什么

#include <stdio.h>
#include <string.h>

int main(void)
{
        int a;
        int b;

        for(int i = 0; i < 100; ++i)
                a = i;

        memcpy(b, a, 100 * sizeof(int));
        for(int i = 0; i < 100; ++i)
                printf("%d ", b);

        printf("\n");

        return 0;
}

千杯不醉的关关 发表于 2018-6-20 21:49:11

人造人 发表于 2018-6-20 21:14
不明白你在问什么

可以写一个除二取余法转换二进制吗
接在我上面写的代码的下面

人造人 发表于 2018-6-20 22:46:56

千杯不醉的关关 发表于 2018-6-20 21:49
可以写一个除二取余法转换二进制吗
接在我上面写的代码的下面

把数字转换成二进制字符串?

qq1242009750 发表于 2018-6-20 23:15:17

千杯不醉的关关 发表于 2018-6-20 21:49
可以写一个除二取余法转换二进制吗
接在我上面写的代码的下面

可以的就按照我的那个函数来实现就OK了

关键是感觉 发表于 2018-6-21 12:02:52

#include <stdio.h>
#include "malloc.h"
#include "time.h"

int print(int n,int m,char * p,int index){
        if(n){
                int i= print(n/m,m,p,1+index);                        //递归(转换到值,进制,保存转换的信息,长度累计)
                printf("%d",n%m);                                                //打印效果
                *(p+i)=n%m ? '1': '0';                                        //这里可以写一个 整数转字符的函数,实现其他进制转换1='1'
                return i+1;                                                                //插入次数+1                               
        }else{
                *(p+index)='\0';                                                //index 记录字符的次数,为了在添加结尾标志
                return 0;                                                                //从index0开始插入字符
        }
}

int main(int argc,char *argv[]){
    int a,i,j;
    char t_bit={0};
    srand((unsigned)time(NULL));
    for(i=0;i<10;i++){
       for(j=0;j<10;j++){
                           printf("%3d",a=rand()%100);
                }
      printf("\n");
    }
      
    for(i=0;i<10;i++){
       for(j=0;j<10;j++){
                      printf("%-5d:",a);
                          print(a,2,t_bit,0);
                      printf("\t%s\n",t_bit);
                }
    }        
   
}
页: [1]
查看完整版本: 求一个代码:将一个二维数组中的数据转换为二进制并转存