10->2진수 변환 코드 작성중..char 형을 입력했는데 출력을 char 형으로 할 때 깨집니다.

Sky_pneuma의 이미지

왠만하면 혼자서 해보려고 낑낑댔는데 이부분은 잘 모르겠습니다 ㅠ

10진수에서 2진수로 변환하는 코드인데요..뭐 초보인만큼 음수 변환은 일단 보류...

양수만 진행하는 상태입니다. 2진수 변환까지는 제대로 나오는데, 표준출력부분에서

char 타입으로 출력하면 문자가 깨져서 출력됩니다. int 형으로 출력했을 땐 2진수까진

제대로 나오지만 쓸데없는 부분이 붙어서 출력되더군요...배열에 저장한 값을 출력한거고

배열도 char 타입이니 별 문제 없을거라 생각했는데 왜이러는지 모르겠습니다 ㅠ

지도편달 부탁드립니다~!

//---------------------------------------------------------------------------
//15장 도전2

#include
#include

int trans_binary(int *a, char b[]);
void ReverseIndex(char *InNum, int *ArSize, char a[]);

//------------------------------------------------------------------------------
int main()
{
int i, Num;
char TheRest[50];
int Array_Size = 0;

printf("숫자를 입력하세요 : ");
scanf("%d", &Num);

Array_Size = trans_binary(&Num, TheRest);

printf("배열의 크기는 %d 입니다. ", Array_Size);

ReverseIndex(&Num, &Array_Size, TheRest);

system("pause");
return 0;
}
//------------------------------------------------------------------------------

int trans_binary(int *a, char b[])
{
int i, ArraySize;
char temp = *a;

for(i=0; temp != 0; i++)
{
b[i] = temp%2;
temp /= 2;
}

ArraySize = i+1;

return ArraySize;
// ReverseIndex(, &ArraySize, b);

}
//------------------------------------------------------------------------------
void ReverseIndex(char *InNum, int *ArSize, char a[])
{
int i;
char buf;
int Size = *ArSize;

for(i=0; i<(Size/2); i++)
{
buf
= a[i];
a[i] = a[Size-i-1];
a[Size-i-1] = buf;
}

printf("입력한 수 %d 의 2진수 값은 ", *InNum);

for(i=0; i printf("%d", a[i]);
}
//------------------------------------------------------------------------------

File attachments: 
첨부파일 크기
Plain text icon binary.txt1.38 KB
Sky_pneuma의 이미지

for(i=0; i<Size; i++) printf(”%d”, a[i]);
}
//———————————————————————————————————————

프로그래밍 옹알이 시작중.

Sky_pneuma의 이미지

해결했네요 ㅠ 사이즈에 +1한게 문제였어요...민망합니다 ㅠ ㅋ

프로그래밍 옹알이 시작중.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.