21.MFC进制转换工具

Posted xiaochi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了21.MFC进制转换工具相关的知识,希望对你有一定的参考价值。

技术分享图片

相关代码:链接:https://pan.baidu.com/s/1pKVVUZL 密码:e3vf

  1 #include <stdlib.h>
  2 #include <stdio.h>
  3 #include <string.h>
  4 #include <string.h>
  5 #include <math.h>
  6 
  7 //从2进制转到10进制
  8 int from_2to10(char res[30])
  9 {
 10     printf("%s", res);
 11     int result = 0;
 12     int len = strlen(res);
 13     //从最高位开始依次计算
 14     for (int i = 0; i < len; i++)
 15     {
 16         result += (res[i] - 0) * pow(2.0, len - i - 1);
 17     }
 18 
 19     return result;
 20 }
 21 //从8进制转到10进制
 22 int from_8to10(char res[30])
 23 {
 24     int result = 0;
 25     int len = strlen(res);
 26     //从最高位开始依次计算
 27     for (int i = 0; i < len; i++)
 28     {
 29         result += (res[i] - 0) * pow(8.0, len - i - 1);
 30     }
 31 
 32     return result;
 33 }
 34 //从16进制转到10进制
 35 int from_16to10(char res[30])
 36 {
 37     int result = 0;
 38     int len = strlen(res);
 39     //从最高位开始依次计算
 40     for (int i = 0; i < len; i++)
 41     {
 42         if (res[i] - 0 < 10)
 43         {
 44             result += (res[i] - 0) * pow(16.0, len - i - 1);
 45         }
 46         else
 47         {
 48             result += (10 + res[i] - A) * pow(16.0, len - i - 1);
 49         }
 50     }
 51 
 52     return result;
 53 }
 54 //10进制转到2进制
 55 void to2(int num, char res[30], int i)
 56 {
 57     if (num == 0)
 58     {
 59         return;
 60     }
 61     else
 62     {
 63         res[i] = 0 + num % 2;
 64         to2(num / 2, res, i + 1);
 65     }
 66 }
 67 //10进制转到8进制
 68 void to8(int num, char res[30], int i)
 69 {
 70     if (num == 0)
 71     {
 72         return;
 73     }
 74     else
 75     {
 76         res[i] = 0 + num % 8;
 77         to8(num / 8, res, i + 1);
 78     }
 79 }
 80 //10进制转到16进制
 81 void to16(int num, char res[30], int i)
 82 {
 83     if (num == 0)
 84     {
 85         return;
 86     }
 87     else
 88     {
 89         if (num % 16 >= 0 && num % 16 <= 9)
 90         {
 91             res[i] = 0 + num % 16;
 92         }
 93         else
 94         {
 95             res[i] = A + num % 16 - 10;
 96         }
 97 
 98         to16(num / 16, res, i + 1);
 99     }
100 }

 

以上是关于21.MFC进制转换工具的主要内容,如果未能解决你的问题,请参考以下文章

使用任何开源代码或工具将大型机二进制文件转换为 Ascii

Silverlight 中的十进制转换器无法正确处理丢失焦点

怎样将十六进制代码转换成文字?

RGB颜色值与十六进制颜色码转换工具

ColorUtilColor工具类(color整型rgb数组16进制互相转换)

要用python写个小程序,把bmp图片怎么转换成16进制代码给怎么些啊,或者有啥转换工具啊,,,谢,,,