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

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

24.02.2010, 22:47. Показов 146880. Ответов 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
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
24.02.2010, 23:56
Levik_777, массив тут не нужен. Данные задания уже решали много раз, а поэтому если нужен результат, то "потрудись" и поищи по разделу Pascal с запросом "DecToBin"
2
 Аватар для nepalcemdelan
10 / 9 / 4
Регистрация: 24.02.2010
Сообщений: 27
25.02.2010, 00:04
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот, держи
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program str1;
uses crt;
function dec2bin(x:integer):string;
var s:string;
begin
  s:='';
  while x>0 do
  begin
     s:=chr(ord('0')+x mod 2)+s;
     x:=x div 2;
  end;
dec2bin:=s;
end;
var a: integer;
 
begin
clrscr;
writeln('Vvedite chislo:');
readln(a);
writeln('poluchenoe chislo:',dec2bin(a));
readln;
end.
Вложения
Тип файла: rar 1.rar (282 байт, 303 просмотров)
2
Ret1966
14.04.2010, 17:34
Здравствуйте, а проще нельзя решить эту задачу, используя только div и mod? Не используя string'овую переменную. А то, моя мама, учитель информатики, задала такую задачу.
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
14.04.2010, 17:37
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Ну проще уже некуда:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
uses crt;
var m:array[1..100]of integer;
n:longint;
i,k:integer;
 
begin
 clrscr;
 write('-> ');
 readln(n);
 k := 0;
 if n=0 then
 begin
  k:=1;
  m[k]:=0;
 end else
 while n<>0 do
 begin
  inc(k);
  m[k] := n mod 2;
  n := n div 2;
 end;
 for i:=k downto 1 do write(m[i],' ');
 readln;
end.
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
14.04.2010, 18:13
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

k1ry4, можно
так
Pascal
1
2
3
4
5
6
procedure Dec2Bin(N: integer);
begin
  if N >= 2 then
    Dec2Bin(N div 2);
  Write(N mod 2);
end;
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
14.04.2010, 18:17
Цитата Сообщение от Ret1966 Посмотреть сообщение
А то, моя мама, учитель информатики, задала такую задачу.

Не по теме:

Inadequate, она не поверит, что её сынуля сделает через функции

0
14.04.2010, 18:24

Не по теме:

k1ry4, ну ведь это и не наши проблемы :)

0
 Аватар для DeLuxe
156 / 158 / 93
Регистрация: 01.01.2010
Сообщений: 398
14.04.2010, 18:33
Чисто по личным соображениям решать через строковые переменные куда рациональнее чем через див и мод
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
14.04.2010, 18:38
DeLuxe, а как это через строковые переменные ?
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
14.04.2010, 18:40
Inadequate, он, наверное, имел ввиду заносить полученное число как строку. С технической стороны, разницы, что в массив, что в строку заносит результат, - никакой.
0
14.04.2010, 18:42

Не по теме:

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

0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
14.04.2010, 18:43
k1ry4, я поэтом и спросил, что разницы никакой, а выводы о рациональности выводит
0
0 / 0 / 1
Регистрация: 03.01.2013
Сообщений: 10
09.06.2013, 12:40
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program asdasd;
var c,r,m,i,k,j:integer;
begin
readln(j);
k:=1;
for i:=1 to j do
begin
if k<j then k:=k*2; end;
if k>j then k:= k div 2;
   for m:=1 to j do
   begin
   if ((k=1) and (j=0))or((k=0) and (j=0)) then write()
    else
   if k=j then begin j:=0; write(1);end
   else 
      if k<j then begin j:=j-k; k:=k div 2; write(1); end
      else
        if k>j then begin k:= k div 2; write(0); end;
   end;
          end.
если ты недопонимаешь то возьми вот это
0
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 7
24.07.2013, 21:07
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var a,b,c,i,k:integer;
 mas: array[0..1000] of integer; 
begin 
k:=0; 
readln(a);
 repeat 
b:=a mod 2;
k:=k+1; 
mas[k]:=b; 
c:=a div 2; 
if c>=2 then a:=c; 
until c<2; 
write(c); 
for i:=k downto 1 do write(mas[i]);
 end.
Подробнее: http://krivaksin.ru/?p=373#ixzz2Zz29M400
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
27.07.2013, 01:26
Цитата Сообщение от Ret1966 Посмотреть сообщение
Здравствуйте, а проще нельзя решить эту задачу, используя только div и mod? Не используя string'овую переменную. А то, моя мама, учитель информатики, задала такую задачу.
Цитата Сообщение от yanyk1n Посмотреть сообщение
Ну проще уже некуда:
...
Цитата Сообщение от DeLuxe Посмотреть сообщение
исто по личным соображениям решать через строковые переменные куда рациональнее
Вы не понимаете смысл задания - надо вывести двоичное представление числа, не используя для буферного хранения ни строку, ни массив. Дополнительная сложность тут в том, что выделять двоичные цифры удобнее "с хвоста" (от младших к старшим) но выводить то надо сначала старшие цифры, и без буфера это не так просто.

Добавлено через 29 минут
Цитата Сообщение от Ret1966 Посмотреть сообщение
Здравствуйте, а проще нельзя решить эту задачу, используя только div и mod? Не используя string'овую переменную. А то, моя мама, учитель информатики, задала такую задачу.
Можно даже и без div и mod:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var
  a, mask: integer;
  i, j: integer;
 
begin
  write('a? ');
  readln(a);
 
  write('b: ');
  if (a=0) then
    writeln('0')
  else begin
    mask:=-maxint-1;
    i:=sizeof(a)*8;
    while ((a and mask)=0) do begin
      mask:=mask shr 1;
      dec(i);
      end;
    write('1');    
    for j:=i-1 downto 1 do begin
      mask:=mask shr 1;
      if ((a and mask)<>0) then
        write('1')
      else
        write('0');
      end;
    writeln;
    end;
 
  readln;
end.
- надеюсь, мама будет довольна
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
27.07.2013, 22:43
Цитата Сообщение от Напильнег Посмотреть сообщение
- надеюсь, мама будет довольна
Напильнег, вряд-ли ведь решить через 2 года...
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
28.07.2013, 00:54
Хм, действительно - подняли тему.

Но самое интересное, что что ни одна приведенная программа (окромя моей) в точности поставленную в первом сообщении задачу не решает. Слабо сообразить, почему?
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
28.07.2013, 01:57
Но пост 6 самое классное решение-рекурсивное.
0
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 7
28.07.2013, 14:16
Цитата Сообщение от Новичок Посмотреть сообщение
Но пост 6 самое классное решение-рекурсивное.
Спасибо!))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.07.2013, 14:16
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 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 На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru