Skip to content
Snippets Groups Projects
Commit ce1c9c98 authored by 이소현's avatar 이소현
Browse files

0112

parent 8a7d3ae2
No related branches found
No related tags found
No related merge requests found
lec06/bin 0 → 100755
File added
#include<stdio.h>
int main()
{
int i;
unsigned int in_a;
fscanf(stdin, "%u", &in_a);
fprintf(stdout, "%u \t : ", in_a);
for(i=31; i>= 0; i--)
{
fprintf(stdout, "%d", ((in_a>>i) & 1));
if(i % 4 == 0)
fprintf(stdout, " ");
}
fprintf(stdout, "\n");
}
File added
#include<stdio.h>
#define VALUE_ONE 1
// Count number of 1 (binary)
int count_one(unsigned int a)
{
int const con = 1;
int static numCalls = 100;
int count = 0;
// con++; -> ERROR
while(a != 0)
{ count += a & VALUE_ONE;
a >>=VALUE_ONE;
//if((a>>i) & 1)
// count ++;
// if문 보다 아래처럼 사용하는 것이 훨씬 빠름
//count += (a>>i) & 1;
//count += a & 1; // 000..0001과 비교즉 마지막 숫자와 계속 비교
//a >>=1; //한칸씩 오른쪽 쉬프트
}
fprintf(stderr, "Call : %d\n", numCalls);
numCalls++;
return count;
}
int main()
{
int i;
unsigned int in_a;
fscanf(stdin, "%u", &in_a);
fprintf(stdout, "%u \t : ", in_a);
for(i=31; i>= 0; i--)
{
fprintf(stdout, "%d", ((in_a>>i) & 1));
if(i % 4 == 0)
fprintf(stdout, " ");
}
fprintf(stdout, "\n");
count_one(in_a);
count_one(in_a);
count_one(in_a);
count_one(in_a);
fprintf(stdout, "\n");
fprintf(stdout, "count : %d\n", count_one(in_a));
return 0;
}
#include<stdio.h>
int add(int *a, int *b, int *c)
{
*c = *a + *b;
}
int main()
{
const int a = 100;
int b = 200;
long long c = 999;
// int * == long long
fprintf(stdout, "%d : %lld %llx\n", a, &a, &a);
fprintf(stdout, "%d : %lld %llx\n", b, &b, &b);
add(&a, &b ,&c);
//c = a+b
fprintf(stdout, "%d : %lld %llx\n", c, &c, &c);
fprintf(stdout, "%d : %lld %llx\n", c, &c+1, &c+1);
fprintf(stdout, "%d : %lld %llx\n", c, &c+2, &c+2);
}
### Lecture 06
#### Pointer / Address
*int const A : A라는 variable이 constant int이다.
*int * const A : *가 const이다.
*int const ** A : const int를 가르키는 포인트의 포인트
#include<stdio.h>
int sumArray3(int a[3], int sum)
{
sum = *a;
a++;
sum += *a;
a++;
sum += *a;
// a[3] = a[0]+a[1]+a[2];
// sum = a[3];
fprintf(stdout, "%d : %lld %llx\n", sum, &sum, &sum);
return a[3];
}
int main()
{
int a = 100;
int b = 200;
int c = 999;
int arr[4] = {100, 200, 300, 400};
int *parr;
parr = arr;
parr++;
fprintf(stdout, "%d : %lld %lld\n", *parr,parr,arr);
c = sumArray3(arr, b);
fprintf(stdout, "%d : %lld %llx\n", b, &b, &b);
fprintf(stdout, "%d : %lld %llx\n", arr, arr, arr);
fprintf(stdout, "%d : %lld %llx\n", *arr, *arr, *arr);
fprintf(stdout, "%d : %lld %llx\n", &arr, &arr, &arr);
fprintf(stdout, "%d : %lld %llx\n", arr[2], &arr[2], &arr[2]);
fprintf(stdout, "%d : %lld %llx\n", arr[3], &arr[3], &arr[3]);
fprintf(stdout, "%d : %lld %llx\n", arr[4], &arr[4], &arr[4]);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment