Хотите преобразовать базу 10 нет. В двоичный код, что не так в моем коде.. Он не работает должным образом.
/ * Привет, это была всего лишь неделя в мире программирования на Си. Я пытался построить
программа для преобразования base10 в двоичный код (только до 7 позиций).
Но я не получаю выхода.. Все кажется совершенным.
И еще одно. Я не хочу прямого решения этой проблемы. Если понадобится так я и сделаю
прочитали его в книге или в интернете. Я хочу решить эту проблему самостоятельно. Просто сказать мне
где я ошибаюсь? Алогорифмически все выглядит для меня конкретным. */
#include<iostream.h> #include<stdio.h> #include <conio.h> void main() { int in,b[6],logs; clrscr(); cout<<"Input a base 10 number:"; cin>>in; for(int i=64; i>0;i=i/2) { if(in>=i && in<128) { /* I wanted to use LOG to base 2 function, but I dont know how to. So instead I tried this lengthy LOGS thing */ if(i==64) logs=6; else if(i==32) logs=5; else if(i==16) logs=4; else if(i==8) logs=3; else if(i==4) logs=2; else if(i==2) logs=1; else if(i==1) logs=0; b[logs]=1; in=in%i; } else if(in<=i) { if(i==64) logs=6; else if(i==32) logs=5; else if(i==16) logs=4; else if(i==8) logs=3; else if(i==4) logs=2; else if(i==2) logs=1; else if(i==1) logs=0; b[logs]=0; } } cout<<endl; for(int z=0; z<=6;z=z++) { printf("%d",b[i]); } getch(); }
Что я уже пробовал:
Все возможные ошибки устраняются ..
Даже я мог бы искать код в интернете, но я не хочу копировать. Просто, Пожалуйста, скажите мне, что не так в этом коде.. Алогоритамически все выглядит прекрасно для меня.
( Мне всего неделя от роду в этом мире Си )