2012-08-27 59 views
0

我有一个存储“位”的整数数组例如转换整数数组为unsigned char阵列

int a = {1,0,1,1} 

我如何能够转换成整数数组“位”为无符号的字符“位”?

and reciprocal?

+0

你是什么意思与“整数数组位”吗? –

+1

不适合我。你是否想将'{1,0,1,1}'转换为'unsigned char',例如unsigned char x = 1011;或其二进制表示? – Jack

+0

如果没有严重警告,您的示例应该不会编译。 –

回答

3
int int_array[] = {1, 0, 1, 1}; 
unsigned char uc_array[sizeof int_array/sizeof *int_array]; 
for (size_t i = 0; i != sizeof int_array/sizeof *int_array; ++i) 
    uc_array[i] = int_array[i]; 

(示例代码是有缺陷的:它有一个标量太多初始化)

+0

和互惠? – Juan

+0

“你的示例代码是有缺陷的:它有一个标量变量的初始化器太多”不明白,为什么是错的? – Juan

+0

@Juan:因为它应该是'int a []'。 – AusCBloke