Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
тут всё про100
1 / 1 / 0
Регистрация: 13.07.2011
Сообщений: 5
1

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

13.07.2011, 19:11. Просмотров 3966. Ответов 6
Метки нет (Все метки)

1.Программа перевода из двоичной системы счисления в шестнадцатеричную систему счисления.
2.Лишние пробелы.Дана строка состоящая из слов,разделённых пробелами.напишите программу удаляющую лишние пробелы.
-стоит в начале строки
-стоит в конце строки
-следует за пробелом

В основной программе должен быть оператор выбора задач, оформленных в виде подпрограмм с выбором первой или второй программы при запуске в PascalABC
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2011, 19:11
Ответы с готовыми решениями:

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

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

Составить программу перевода этого числа в шестнадцатеричную систему счисления
Дано дробное число в двоичной системе счисления, т.е. последовательность цифр 0 и 1, разделенных...

Перевод натурального числа из двоичной системы счисления в шестнадцатеричную (нужна блок-схема)
Program cal//12 лаба: Используя рекурсию написать программу перевода натурального числа из двоичной...

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

6
MAN-HUNT
27 / 27 / 26
Регистрация: 17.01.2011
Сообщений: 153
13.07.2011, 19:32 2
2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses
    crt;
var
   s:string;
   i:integer;
begin
     s:=' asd  as asd dasd  asdasd ';
      if s[1]=' ' then
         delete(s,1,1);
      if s[length(s)]=' 'then
         delete(s,length(s),1);
      while pos('  ',s)>0 do
            delete(s,pos('  ',s),1);
      write(s);
end.
1
Zanexess
112 / 85 / 52
Регистрация: 22.10.2010
Сообщений: 227
13.07.2011, 19:47 3
1. По кусочкам. Естественно можно проще. Недалеко есть FAQ по системам счисления.
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
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
const figure: string [36]='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var dint: longint;
    qint: string;
    q: byte;
    s,s1: string;
    u:byte;
    
procedure IntToDec (q:byte; qint :string; var dint:longint);   {Из любой в десятичную. Только целые.}
var j:byte;
 begin
  dint:=0;
  For j:=1 to length (qint) do
     dint:=q*dint+pos(qint[j],figure)-1;
 end;
 
procedure DecToQ (q,dint:longint;var qint:string);  {Из десятичной в любую. Только целые.}
begin
 qint:='';
   Repeat
    qint:=figure[dint mod q+1]+qint;
    dint:=dint div q;
   Until dint = 0;
end;
 
procedure sixth;
var code:integer;
 begin
  Writeln ('Введите число: ');
  Read (qint);
  q:=2; // Начальная система
  IntToDec (q,qint,dint);
  str(dint,s1);
  q:=16; // Система в которую перевести
  Val (s1,dint,code);
  DecToQ(q,dint,qint);
  Writeln ('Результат: ');
  Writeln (qint);
 end;
 
begin
  sixth;
end.
3
тут всё про100
1 / 1 / 0
Регистрация: 13.07.2011
Сообщений: 5
14.07.2011, 19:57  [ТС] 4
По кусочкам. Естественно можно проще. Недалеко есть FAQ по системам счисления.
а проще это как?=)
0
Zanexess
112 / 85 / 52
Регистрация: 22.10.2010
Сообщений: 227
14.07.2011, 20:33 5
Ну не через десятичную систему к примеру, а тетрадами обработать строку. Тогда потеряется универсальность а будет только конвертор 2 -> 16

Добавлено через 20 минут
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
uses crt;
const a: array [1..16] of string = ('0000','0001','0010','0011','0100','0101','0110','0111','1000','1001','1010','1011','1100','1101','1110','1111');
      const figure: string [16]='0123456789ABCDEF';
var  s    :string;
     temp :string;
     s1   :string;
     i    :integer;
 
begin
 Read (s); s1:='';
{Добавление незначащих цифр}
While length(s) mod 4 <> 0  do
  Insert('0',s,1);
{Обработка строки}
While length(s) <> 0 do
 begin
  temp := copy (s,length(s)-3,length(s));
   For i:=1 to 16 do
     If temp = a[i] then
      begin
       s1:=figure[i]+s1;
       delete(s,length(s)-3,4)
      end;
 end;
Writeln (s1);
end.
Как-то так.
1
magdest
0 / 0 / 0
Регистрация: 29.10.2015
Сообщений: 3
31.08.2018, 15:46 6
Вот метод из System конвертирования числе в 2-х, 8-ми и 16-и ричные системы исчисления, И ОБРАТНО. На языке PascalABC.NET

Вот модуль на PascalABC.NET конвертирует любую систему исчисления в любую другую и обратно, использует длинную арифметику Biginteger. Кому надо тот перегрузит под свои типы. (на коменты в модуле сильно внимания не обращайте, они писались только в начале при формировании логики, а затем уже копировались строки и все тусовалось, но в некоторых местах все ровно. Особенно не видитесь на орфографические ошибки, это нормально, я так шифрую свой мыслительные потоки...)))
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//-------------------------------------------------
//для использования нужно подключить библиотеку Biginteger ну и модуль konvert.
uses System.Numerics, konvert;
//-------------------------------------------------
 
var Bi:Biginteger:=Biginteger.Parse('12345678901234567890');//длинное 10R число BigInteger.
var R:integer:=2;//ричность числа вЫходящего.
 
var ss:string:= IntToR(Bi,R);  //КОНВЕРТИРУЮ Biginteger в любую ричность.
//IntToR(большое целое Biginteger, ричность числа на выходе);
 
//или функиция IntToR16() которая 16-и ричную систему представляет в символах (0123456789ABCDEF).
//-------------------------------------------------
 
var Bi:Biginteger:= RToInt(R,ss);  //КОНВЕРТИРУЮ из любой ричности в Biginteger.
//RToInt(ричность числа входящего,число для конвертации с порциями разделенными чем угодно не относящимся);
 
//или функиция RToInt16() которая 16-и ричную систему представляет в символах (0123456789ABCDEF).
//-------------------------------------------------
МОДУЛЬ ПРИКРЕПИЛ >>>>>>>>>
0
Миниатюры
Программа перевода из двоичной системы счисления в шестнадцатеричную систему счисления  
Вложения
Тип файла: rar konvert.rar (3.3 Кб, 1 просмотров)
Cyborg Drone
02.09.2018, 00:38     Программа перевода из двоичной системы счисления в шестнадцатеричную систему счисления
  #7

Не по теме:

magdest, ну и, зачем Вы подняли тему 7-летней давности, да ещё и написали сумбурный ответ не на том диалекте паскаля?

0
02.09.2018, 00:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2018, 00:38
Привет! Вот еще темы с ответами:

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

В программу для перевода с двоичной системы счисления в десятичную добавить вывод на неправильные символы
Как в программу для перевода с двоичной системы счисления в десятичную добавить вывод на...

Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 <= M, N <= 16
Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 &lt;= M, N &lt;=...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.