16진수값을 2진수로 변환한 다음 반대편으로 값 넣어주기?
머즌일
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1
값을 16진수(0x00 이런 식으로)로 받아서 2진수 변환후
위에 8번의 값이 1 일경우 밑에 8번의 값도 1 로 만들고 싶습니다.
같은 번호의 값을 다른 변수의 그대로 넣어 주고 싶은데 ..
어떻게 해야 할지 ..ㅜㅜ 도와주세요 !1
-
한무릎
int fun2(int a)
{
\tint res = 0;
\tint tmp;
\tint i;
\tfor (i=0; i8; i++) {
\t\ttmp = (a (i*4)) & 15; // 0x0f = 15
\t\tres = res | ( tmp (7-i)*4);
\t}
\treturn res;
} -
지존
#include stdio.h
int fun(int a);
void main()
{
\tint a = 0x12345678;
\tint b = fun(a);
\tprintf( \%x , %x \\n\ -
도담
헉헉 해보니 안되요 ㅜㅜ........
-
상큼한캔디
int 형 일 경우(32 비트)
int a = some;
int b;
b = 0;
for ( int i=0; i32; i++ ) {
int tmp = (a i) & 1;
b = b | ( tmp (31 - i) );
}
char 형 일 경우(8비트)
char a = some;
char b;
b = 0;
for ( int i=0; i8; i++ ) {
char tmp = ( a i ) & 1;
b = b | ( tmp (8 - i) );
}