0
에 난 함수 intToBits 의해 비트 배열에 문자를 변환 코드의 다음 부분을 만들었다 :C : 샤아 비트 인쇄
typedef unsigned char poly8;
typedef unsigned long long poly8x64[8];
char* intToBits(unsigned k) {
int i;
char *nk = malloc(8);
for(i=7;i>=0;i--){
nk[i] = (k%2);
k = (int)(k/2);
printf("nk= %d \n", nk[i]);
}
return *nk;
}
void poly8_bitslice(poly8x64 r, const poly8 x[64])
{
//TODO
int i;
for(i=0;i<64;i++)
{
printf("x= %d \n", x[i]);
char* mem = intToBits(x[i]);
printf("bufer= %d \n", *mem);;
}
}
int main()
{
poly8 a[64], b[64], r[64];
poly8x64 va, vb, vt;
int i;
FILE *urandom = fopen("/dev/urandom","r");
for(i=0;i<64;i++)
{
a[i] = fgetc(urandom);
b[i] = fgetc(urandom);
}
poly8_bitslice(va, a);
poly8_bitslice(vb, b);
fclose(urandom);
return 0;
}
단, I는 분할 failt 오차를 얻고, 인쇄 중에. 나는 무엇을 해야할지 모른다. 포인터가 올바르지 않습니까? 난 그냥 intToBits의 결과를 인쇄하고 싶다.
return *nk;
그것은 컴파일러는 컴파일러 경고를 켤 경우를 알려 것 대신 char*
의 char
을 반환
당신은 bytes'하지'bits'은 ... 배열에 대한 형식 정의 사용 –
이 IMO, – Jerfov2
참 끔찍한 생각이지만,'할당 세그먼트 오류 – Ceesz