singlepost

Перевод чисел в двоичную систему (си) << На главную или назад  

Нужно составить подпрограмму перевода число из дес. с\с в двоичную.
Посмотрите такой вариант, не могу исправить ошибки. Помогите пожалуйста.

#include <stdio.h>
#define N 1000
#include <conio.h>
void perevod_chisel (int y, float z[],int i, int z)

{

i=-1;
do
{
i++;
z[i]=y%2;
y=y/2;
}
while (y>=1);
return;
}
void main (void)
{int z[N];
int j,y,i;
printf ("\nVvedite chislo\n");
scanf ("%d",&y);
puts("\nDvoichnoe chislo");
perevod_chisel (y,&z[],&i);
for (j=0;j<=i;j++)
printf ("%d", z[i-j]);
getch();
}

23 ответов в теме “Перевод чисел в двоичную систему (си)”

  1. 11
    Иван Горбачев ответил:

    2Жека jkff Кирпичев
    +1

  2. 10
    Роман Белоус ответил:

    Жека, подписываюсь под каждым словом)

  3. 9
    Жека Кирпичев ответил:

    > имел ввиду русскую локализацию.
    Да.

    > Я, например, не знаю как будет по-английски "перевод чисел", но плохим программистом себя не считаю
    Среди моих знакомых нет ни одного хорошего программиста, который бы плохо знал английский. Я еще не видел ни одной хорошей программы, в исходниках которой использовался бы транслит или было бы много ошибок в плане английской грамматики или орфографии. Совпадение?
    Нет, я понимаю, что это не аргумент и о тебе ничего не говорит. Но как, скажи мне, ты, прочитав (бесспорно, иначе ты вряд ли был бы хорошим программистом) множество информации о программировании на английском языке (поскольку почти вся ценная информация о программировании представлена именно на нем), умудряешься по-прежнему знать его так плохо?

    Вообще, мне кажется, что если человек пишет в программах транслитом – это значит, что в нем лень превалирует над эстетическим чувством (разве не уродливо смотрится код на смеси языков – fprintf(file, "%s", peremennaya)?). Это значит, что либо у него чрезвычайно развита лень и нежелание развиваться, либо у него чрезвычайно недоразвито эстетическое чувство. И то, и другое губительно для программиста.
    Либо он просто еще совсем новичок, не успел ни выучить английский, ни развить эстетическое чувство – тогда пускай учит и развивается.

  4. 8
    Vlad Ламбар ответил:

    #8
    я думаю #2 в фразе: "В коде ВСЕ пишется по-английски, кроме сообщений для пользователя, если ты пишешь русскоязычную программу."

    имел ввиду русскую локализацию.

  5. 7
    Dain Here ответил:

    #3
    ну понятно, что ты не считаешь себя плохим программистом, ещё бы. Другое дело, каким программистом тебя посчитает тот, кому посчастливится увидеть в твоем коде, к примеру, функцию funkciya_preobrazovaniya_chisel()

    +1 к знанию английского хотя бы поэтому.
    И, ребята, просто как-то грустно не знать английского в наше время. Не важно, программист ты или нет.

    #2
    все по тому же первому пункту, а именно: "В коде ВСЕ пишется по-английски, кроме сообщений для пользователя, если ты пишешь русскоязычную программу."
    Видимо, ты имеешь в виду комментарии. Однажды довелось дописывать прогу на дельфях, созданную когда-то финским прогером с соответственно финскими комментами и названиями функций… Я даже не знал, что в моём лексиконе есть такие слова :)

  6. 6
    Дмитрий Гайдамович ответил:

    Вспоминаю, как классе в восьмом нас водили на экскурсию в радиотехникум. Это было году так 1987-ом. Там я впервые увидел большую ЭВМ. Программист в белом халате, сидящий за электрической печатной машинкой "Консул" сказал нам с умным видом: "Диалог с компьютером ведётся на английском языке". Я записал это в записную книжку. Помню, меня это поразило до глубины души. Я хоть и имел "пятёрки" по данному предмету, но не мог понять, как можно с компьютером по-английски разговаривать… Позднее я узнал, что меня надурили. Поскольку есть языки программирования.

  7. 5
    Vlad Ламбар ответил:

    #5
    насчет быдлокодера посмеялся, спасибо…

    Про англ. согласен, его просто обязательно знать! Особенно когда работешь с заказчиками а не для себя…

  8. 4
    Женя Кутекин ответил:

    OMG, быдлокодер о_0
    Вот простой пример для С:

    void OutputInBinary(int a)
    {
    if(a == 0) return;
    OutputInBinary(a / 2);
    printf("%d", a % 2);
    }

    >> #2 c первым пунктом не согласен. Английский нужно знать на уровне перевода текстов на русский, а не наоборот. Я, например, не знаю как будет по-английски "перевод чисел", но плохим программистом себя не считаю
    Я недавно сказал американцу по скайпу, что собираюсь стать программистом, его ответ – like every russian. Т.е. среди русских-англоговоряших как раз много программистов.
    Или вот хорошая цитата:
    "Пока человек считает, что знание языка программирования для него важнее знания английского, то он и дальше будет разговаривать с компьютером, а не с заказчиком." автора не помню
    Конечно, лично вам я не навязываю своё мнение, но объективней будет рассматривать вопрос с разных точек зрения.

  9. 3
    Владимир Муромский ответил:

    #2 c первым пунктом не согласен. Английский нужно знать на уровне перевода текстов на русский, а не наоборот. Я, например, не знаю как будет по-английски "перевод чисел", но плохим программистом себя не считаю

  10. 2
    Макс Донцов ответил:

    В С++ есть спец функция перевода в двоичную систему, не надо изобретать велосипед)

  11. 1
    Жека Кирпичев ответил:

    Ептыть, почему из вас всех клещами надо все вытягивать?
    Какие именно ошибки-то?

    Я навскидку вижу следующее:
    - Функция perevod_chilsel названа не по-английски. Если не знаешь английского – в программировании делать нечего. В коде ВСЕ пишется по-английски, кроме сообщений для пользователя, если ты пишешь русскоязычную программу.
    - Эта функция зачем-то принимает в качестве параметра число i, но никак не использует переданное ей значение, а сразу выкидывает его на помойку и использует число -1.
    - Эта функция зачем-то записывает получаемые биты в массив ВЕЩЕСТВЕННЫХ чисел. Притом передается ей в main() – массив ЦЕЛЫХ чисел.
    - Нет в си такого синтаксиса – &z[]. Там должно быть просто "z".

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.