Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/723: Рейтинг темы: голосов - 723, средняя оценка - 4.81
1 / 1 / 0
Регистрация: 25.11.2009
Сообщений: 15

Перевод из десятичной системы в двоичную

24.02.2010, 22:47. Показов 146892. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
помогите пожалуйста написать программу, переводящую целые числа из десятичной системы счисления в двоичную. не могу догадаться как записыватьединицы и нули. знаю, что всё время надо делить на 2.
надо ли делать массив в программе?
заранее благодарю.
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.02.2010, 22:47
Ответы с готовыми решениями:

Перевод числа из десятичной системы счисления в двоичную
Здравствуйте! Пытаюсь написать программу для перевода чисел из десятичной системы счисления в двоичную. Вот, что пока написал ...

Перевод из десятичной системы в двоичную и обратно из двоичной в десятичную
uses crt; var m:arrayof integer; n:longint; i,k:integer; begin clrscr; write('-> '); readln(n); k := 0;

Перевод из десятичной системы счисления в двоичную(целые,дробные)
Всем доброго. Прошу помочь, нужна программа для перевода из десятичной (как целые так и дробные) системы счисления в двоичную. понимаю в...

50
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
28.07.2013, 17:55
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Новичок Посмотреть сообщение
Но пост 6 самое классное решение-рекурсивное.
Но оно не решает поставленную задачу - поэтому не считается.

ЗЫ: Внимательно читаем условие.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.07.2013, 18:01
Ваш вариант условия
Цитата Сообщение от Напильнег Посмотреть сообщение
смысл задания - надо вывести двоичное представление числа,
Но в первом посте написано
Цитата Сообщение от Levik_777 Посмотреть сообщение
написать программу, переводящую целые числа из десятичной системы счисления в двоичную.
Мне кажется что это разные вещи, вывести на экран двоичное представление числа и сохранить его в переменной целого типа.
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
28.07.2013, 18:10
Не то...

Внутре число в двоичном виде и так находится (переводится readln-ом в момент ввода), надо как раз вывести на экран. Но приведенные программы не решают задачу вывода на экран двоичного представления целого числа - в том то и дело.

ЗЫ: Поясню уж для убогих, а то вы тут долго тыркаться-пыркаться не в те углы будете - существует контрпример (и не один), для которого приведенные решения выводят неверный результат.
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
30.07.2013, 00:10
И тишина... (С)

Ладно, дивитесь:
Кликните здесь для просмотра всего текста
Где в условии написано, что целое число обязательно положительное?
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
30.07.2013, 00:13
А,это верно.Правда как же
Цитата Сообщение от Напильнег
Эх, Пупорев, Пупорев... Ноль и отрицательные числа не переводит...
?
0
0 / 0 / 0
Регистрация: 09.05.2015
Сообщений: 19
12.05.2015, 19:34
nepalcemdelan, объясните,пожалуйста,как данная строка работает:
Pascal
1
 s:=chr(ord('0')+x mod 2)+s;
зачем Вы пишете ord('0')?
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
13.05.2015, 02:04
Цитата Сообщение от Dmitrystud Посмотреть сообщение
зачем Вы пишете ord('0')?
function Ord(a: char): byte;
Преобразует символ в код в кодировке Windows
1. Не требуется знать/запоминать код символа.
2. В отличии от прямого использования кода символа '0', данная реализация независима от шрифтов (если такие встретятся), в которых код нуля имеет другое значение (при условии, что для реализации алгоритма очередность символов "более-менее" соблюдается).
0
0 / 0 / 0
Регистрация: 09.05.2015
Сообщений: 19
21.05.2015, 16:08
APALoff, а можете поподробнее описать,почему без этого ord('0') программа не будет работать? почему нельзя остаток от деления перевести в строковый тип просто?зачем мы прибавляем этот ord
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
21.05.2015, 16:16
Цитата Сообщение от Dmitrystud Посмотреть сообщение
почему без этого ord('0') программа не будет работать?
А нигде и не написано, что без этого не будет работать - почитайте мой пост еще раз, там указано что делает данная функция.
Да, вместо Ord('0') можно сразу написать ASCII код символа '0', но сделано так как сделано по причинам описанным мною в посте выше.

Цитата Сообщение от Dmitrystud Посмотреть сообщение
почему нельзя остаток от деления перевести в строковый тип просто?
Именно это и делается.

Цитата Сообщение от Dmitrystud Посмотреть сообщение
зачем мы прибавляем этот ord
Мы ходим по кругу одних и тех же вопросов - пока Вы себе не уясните как работают функции Ord и Chr разговаривать не о чем.
0
0 / 0 / 0
Регистрация: 09.05.2015
Сообщений: 19
21.05.2015, 17:08
APALoff, я понимаю,как работают функции ord и char: первая переводит символ в его числовой код, вторая - наоборот.
Цитата Сообщение от APALoff Посмотреть сообщение
А нигде и не написано, что без этого не будет работать
Но вот я из строки s:=chr(ord('0')+x mod 2)+s убираю ord('0'). имеем s:=chr(x mod 2)+s. в итоге код не запускается.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.05.2015, 17:17
chr(x mod 2) это символы с кодами 0 и 1, интересно что Вы этим хотите получить? Если хотите получить цифры 0 и 1, нужно к этим кодам прибавить ord('0')=48
0
0 / 0 / 0
Регистрация: 09.05.2015
Сообщений: 19
21.05.2015, 17:23
Puporev,всё,дошло,как работает.
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
21.05.2015, 17:36
Цитата Сообщение от Dmitrystud Посмотреть сообщение
в итоге код не запускается.
Потому я и писал:
Цитата Сообщение от APALoff Посмотреть сообщение
а, вместо Ord('0') можно сразу написать ASCII код символа '0',
0
Модератор
10440 / 5729 / 3405
Регистрация: 17.08.2012
Сообщений: 17,438
23.05.2015, 21:52
Цитата Сообщение от yanyk1n Посмотреть сообщение
Ну проще уже некуда
Проще есть куда.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var i, x: integer;
begin
  write('x (decimal) = ');
  readln(x);
  write('x (bynary ) = ');
  for i := 1 to sizeof(x) * 8 do
    begin
      write(chr(byte('0') or ord(x < 0)));
      x := x shl 1
    end;
  readln
end.
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
24.05.2015, 22:13
А так? Программа перевода из девятеричной системы счисления в троичную

Добавлено через 29 секунд
Но только для положительных.
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
25.05.2015, 19:50
APALoff, а смысл юзать рекурсию если и без нее можно?
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
25.05.2015, 20:15
Особого смысла конечно нет, но получилось коротко, практически в одну строку.
0
Модератор
10440 / 5729 / 3405
Регистрация: 17.08.2012
Сообщений: 17,438
26.05.2015, 10:52
Цитата Сообщение от APALoff Посмотреть сообщение
получилось коротко
Вот и смысл. При прочих равных условиях программа с рекурсией получается компактнее, нежели программа с циклом.
0
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
26.05.2015, 11:07
Еще один, как мне кажется, достойный вариант. (без рекурсии)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
Function ToBin(a : Longint) : String;
Var s : String;
Begin
  s:='';
  While a>0 do
  Begin
    s:=Chr(Ord('0')+Ord(((a shr 1) shl 1)<>a))+s;
    a:=a shr 1;
  end;
  If s='' then s:='0';
  ToBin:=s;
end;
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
27.05.2015, 14:10
APALoff,
а не проще ли тогда
Pascal
7
    s:=Chr(Ord('0')+a and 1)+s;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2015, 14:10
Помогаю со студенческими работами здесь

Перевод числа из десятичной системы в двоичную, методом рекурсии
Помогите перевести число из десятичной системы счисления в двоичную, рекурсией. Знаю как сделать циклически, а рекурсией не могу понять.

Перевод натурального числа из десятичной системы счисления в двоичную
люди помагиет сейчас идти здавать а я не успеваю! помагите кто че сможет решить! 3. Составить программу перевода и печати...

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

Перевод из двоично-десятичной в двоичную систему счисления
Нужна помощь: создать подпрограмму для перевода числа из двоично-десятичной системы в двоичную (Паскаль)

Перевод чисел с остатком из десятичной в двоичную систему счисления
Помогите написать программу в паскале, которая переводила число с остатком из десятичной системы в двоичную систему счисления, т.е целой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru