首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

16进制怎么转换成2进制,并以字符串形式保存2进制数

2012-03-08 
16进制如何转换成2进制,并以字符串形式保存2进制数?如题,看这个:C/C++ codeunsigned char[] {/* 65 0x41

16进制如何转换成2进制,并以字符串形式保存2进制数?
如题,看这个:

C/C++ code
unsigned char[] = {    /* 65 0x41 'A' */    0x38, /* 00111000 */    0x6c, /* 01101100 */    0xc6, /* 11000110 */    0xfe, /* 11111110 */    0xc6, /* 11000110 */    0xc6, /* 11000110 */    0xc6, /* 11000110 */    0x00  /* 00000000 */    };

如何转换成右边注释中的字符串?字符串中保存着该16进制数的2进制数。

[解决办法]
占位学本领啊
[解决办法]
itoa
[解决办法]
C/C++ code
#include <stdio.h>#include <stdlib.h>unsigned char h[] = {    /* 65 0x41 'A' */    0x38, /* 00111000 */    0x6c, /* 01101100 */    0xc6, /* 11000110 */    0xfe, /* 11111110 */    0xc6, /* 11000110 */    0xc6, /* 11000110 */    0xc6, /* 11000110 */    0x00  /* 00000000 */    };char b[8][9];char s[9];int i;void main() {    for (i=0;i<8;i++) {        sprintf(b[i],"%08s",ltoa(h[i],s,2));    }    for (i=0;i<8;i++) {        printf("%s\n",b[i]);    }}//00111000//01101100//11000110//11111110//11000110//11000110//11000110//00000000
[解决办法]
计算机只认识二进制... 你所说的16进制是主观意念...
[解决办法]
学习了
探讨
C/C++ code
#include <stdio.h>
#include <stdlib.h>
unsigned char h[] = {
/* 65 0x41 'A' */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xfe, /* 11111110 *……

[解决办法]

赵老师威武...
[解决办法]
写个转换函数也是可行的啊。
[解决办法]
探讨
引用:

C/C++ code
#include <stdio.h>
#include <stdlib.h>
unsigned char h[] = {
/* 65 0x41 'A' */
0x38, /* 00111000 */
0x6c, /* 01101100 */
0xc6, /* 11000110 */
0xfe, /* 111……

[解决办法]
C/C++ code
#include <stdio.h>unsigned char h[] = {    /* 65 0x41 'A' */    0x38, /* 00111000 */    0x6c, /* 01101100 */    0xc6, /* 11000110 */    0xfe, /* 11111110 */    0xc6, /* 11000110 */    0xc6, /* 11000110 */    0xc6, /* 11000110 */    0x00  /* 00000000 */    };char b[8][9];char s[9];int i,j;void main() {    for (i=0;i<8;i++) {        for (j=0;j<8;j++) {            b[i][8-j]=(h[i]&(1<<j))?'1':'0';        }        b[i][8]=0;    }    for (i=0;i<8;i++) {        printf("%s\n",b[i]);    }}//00111000//01101100//11000110//11111110//11000110//11000110//11000110//00000000
[解决办法]
纠正上帖:
b[i][8-j]=(h[i]&(1<<j))?'1':'0';
应改为
b[i][7-j]=(h[i]&(1<<j))?'1':'0';

[解决办法]
char s[9];删掉

热点排行