c는 아니고 c샾임
프로그래밍 배운지 일주일차라서 효율적인 코드는 아니겠지만
충분히 65535자리수 2진수까지 표현 가능한 빵빵한 성능의 진법변환기임ㅎ
그냥 %값 하나씩 나열하는것까진 완전 쉬운데
그 값을 그냥 단순 나열하면 역순나열이 되서
거꾸로 읽어야지 제대로된 값이 나오는거임.
그거 개선하는법 고민하다가
얼마전에 배열 배운거 생각나서
각 %값을 배열에 하나씩 저장한다음
그걸 역으로 표시해주면 어떨까 싶어서 응용해봤음
결과는 대성공
재미땅ㅋㅋ
우왕 잘했어 짝짝짝
처음에 보고 자바인가 했음
C#이면 ushort가 16비트일텐데 ushort.MaxValue말고 그냥 16쓰는게 더 안낫냐
안그래도 이미 개선함ㅋ 그냥 byte로 했음. 생각해보니까 어차피 ulong 최대값 입력해도 254자리수 절대 못되는데 굳이 ushort같은 큰덩어리 쓸필요 없는거같아서
지금 ee랑 m,mm 은 byte고, e만 ulong 임.
혹시 kukyak 니가 질문한게 그냥 배열요소수를 16개로 지정하라는거라면, 더 큰수 입력했을때 자릿수가 17개 이상이 되면 오류남
좀더 생각해보니까 byte.MaxValue 넣는것보다 ulong 최대값의 2진법 자릿수인 64를 넣는게 최대 절반까지 메모리절약 가능하네ㅋ 그냥 숫자 64 넣는게 낫겠다
ushort이 16비트고 maxvalue가 65535일텐데 더 큰 수가 들어오면 어차피 ushort에 담지도 못하지
입력가능한 10진수 최대값을 넣어도 64자리수밖에 안되니까 굳이 maxvalue를 쓸 필요가 없음. 17은 너무 적고. 64를 넣는게 최선인거 같음
int a=0x8000;scanf("%d",&value;);while(a){printf("% 1d",a&value;>0);a>>=1;} c 코드면 이런 거 아니냐?
http://lgstar.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다. - DCW