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

Перевод десятичного числа в двоичное ( необычный способ )

01.10.2021, 18:49. Показов 883. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Нам на днях задали написать программу для перевода чисел из одной системы счисления в другую. Я начал с написания программы , которая переводила бы числа из десятичной системы в двоичную, написать её я решил сам. Получилось у меня , наверное , криво, но зато сам сделал. Программа банально делит на два и фиксирует остаток ,а позже остаток записывается наоборот. Однако, это работает до 512. С 512 программа начинает писать странные числа ( по типу 1829212.1 ). Я сижу и не могу понять, откуда они берутся.

Подскажите ,пожалуйста , почему программа не работает именно с 512 и как это можно исправить?


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
 var
    t,tw,s2,i,p,s,j,oppa:integer;
    h,k,x:real;  
   begin
     read(s2);
     oppa:=0;
     s:=10;
     j:=1;
     tw:=s2 mod 2; 
      t:=s2 div 2;
      repeat 
       tw:=t mod 2;
       t:=t div 2;
       j:=j*10;
       if tw=1 then
         begin
         oppa:=(s*j)+oppa;
         end
         else
           oppa:=oppa;
     until t<1;
    writeln(' ');
    writeln(' ');
    if (s2 mod 2 = 0) then
    writeln('Нормальный вид - ',oppa/10)
    else 
      writeln('Нормальный вид - ',(oppa/10)+1);
   end.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2021, 18:49
Ответы с готовыми решениями:

Перевод десятичного числа в двоичное
Составить программу перевода десятичного числа в двоичное

перевод целого десятичного числа в двоичное
Написать програму перевода любого целого десятичного числа в двоичное зарание спасиба

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

3
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
02.10.2021, 13:04
Лучший ответ Сообщение было отмечено IvanVro как решение

Решение

Вы пытались написать что-то такое:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var n, m, b: Longint;
begin
  Write('Число: ');
  ReadLn(n);
  m:=1; {b:=0;}
  while n>0 do begin
    b:=b+n mod 2*m;
    m:=m*10;
    n:=n div 2;
  end;
  WriteLn('Двоичное: ',b);
end.
Цитата Сообщение от IvanVro Посмотреть сообщение
не могу понять, откуда они берутся
Не хватает разрядности, чтобы записать результирующее десятичное число -- да-да, в b строится довольно большое десятичное число. Например, для LongInt допустимый диапазон -- -2 147 483 648 .. 2 147 483 647, т.е. максимальное число из 0 и 1: 1 111 111 111, а это 1023(10), то, что больше, не вместится.
Если у вас 16-бийтное целое, его диапазон -32 768 .. 32 767, а максимальное число из 0 и 1: 11 111, а это 31(10).
1
0 / 0 / 0
Регистрация: 01.10.2021
Сообщений: 2
02.10.2021, 13:58  [ТС]
Спасибо, исправил.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
02.10.2021, 18:37
Цитата Сообщение от IvanVro Посмотреть сообщение
исправил
Любопытно увидеть, что именно и каким образом.
Хинт: использование строки для хранения бинарного представления позволит избежать описанного выше ограничения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2021, 18:37
Помогаю со студенческими работами здесь

Перевод из натурального десятичного числа в двоичное представление(string)
вот наработка но что то нашалил на сонную голову вывод нужен нормальный uses crt; var s,x:string; a,i,b:integer; begin clrscr;...

Перевод десятичного числа в двоичное
Добрый вечер! Помогите пожалуйста с решением следующей задачи: необходимо написать программу для перевода ASCII-цепочки (числа) в...

Перевод десятичного числа в двоичное
На Машине Тьюринга реализовать перевод десятичного числа в двоичное. Такое возможно?

Перевод десятичного числа в двоичное
вот, что я написал #include&lt;iostream&gt; #include&lt;locale.h&gt; using namespace std; int main(){ setlocale(LC_ALL,&quot;rus&quot;); int digit;...

Перевод из десятичного числа в двоичное
Мне надо из символа получить ASCII-код, а из него получить число в двоичной с/с. Подскажите как мне из 10 с/с в двоичную перевести, а то...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru