0 / 0 / 0
Регистрация: 22.04.2009
Сообщений: 7
1

Системы Счисления.

21.06.2009, 15:06. Показов 951. Ответов 2
Метки нет (Все метки)

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

Заранее очень благодарен
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2009, 15:06
Ответы с готовыми решениями:

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

Системы счисления
Помогите с программой пожалуйста. Условие. Есть исходный файл, в каждой строке которого лишь одно...

системы счисления
Почему неправильно переводит дробную часть с 10 сс в 10 сс? uses crt; const a: string =...

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

2
138 / 138 / 65
Регистрация: 20.03.2009
Сообщений: 235
21.06.2009, 17:58 2
Лучший ответ Сообщение было отмечено _║RAZOR║_ как решение

Решение

Код не мой:
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
var
a:string;
 
FUNCTION OCT2DEC(OCT: STRING): LONGINT;
 
CONST
  OCTSet: SET OF CHAR = ['0'..'7'];
 
VAR
  J    : LONGINT;
  Error: BOOLEAN;
  DEC  : LONGINT;
 
BEGIN
  DEC := 0;
  Error := False;
  FOR J := 1 TO Length(OCT) DO
  BEGIN
    IF NOT (UpCase(OCT[J]) IN OCTSet) THEN Error := True;
    DEC := DEC + (Ord(OCT[J]) - 48) SHL ((Length(OCT) - J) * 3);
    { 8^N = 2^(N * 3) }
    { N SHL ((Length(OCT) - J) * 3) = N * 8^(Length(OCT) - J) }
  END;
  IF Error THEN OCT2DEC := 0
  ELSE OCT2DEC := DEC;
END;
 
begin
writeln('Введите число в 8-ой системе счисления: ');
   readln(a);
   writeln(oct2dec(a));
readln;
end.
2
Посланник моего господина
111 / 106 / 52
Регистрация: 02.05.2009
Сообщений: 181
21.06.2009, 18:21 3
Число — понятие матиматическое, целостное и независимое от системы счисления.
Когда говорят о переводе из одной системы в другую, подразумевают число как последовательность записанных цифр, то есть строку.
Ниже приведенный модуль позволяет переводить строку (как число) из одной системы счисление в другую.
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
44
45
46
47
48
49
50
51
52
53
unit Conv;
 
interface
 
var Figures : array[byte] of char;
 
function Num2Str(number:word; base:byte):string;
function ChangeBase(number:string; base_prev,base_next:byte):string;
function Str2Num(number:string; base:byte):word;
 
implementation
 
function Num2Str(number:word; base:byte):string;
var r:string;
begin
r:='';
while number<>0 do
      begin
           r:=Figures[number mod base]+r;
           number:=number div base;
      end;
if r='' then r:='0';
Num2Str:=r;
end;
 
function Str2Num(number:string; base:byte):word;
var r:word; i,a:byte;
begin
r:=0;
for i:=1 to length(number) do
    begin
         a:=0;
         while Figures[a]<>number[i] do inc(a);
         r:=r*10 + a;
    end;
Str2Num:=r;
end;
 
function ChangeBase(number:string; base_prev,base_next:byte):string;
begin
     ChangeBase:=Num2Str(Str2Num(number,base_prev),base_next);
end;
 
var aaa:byte;
begin
for aaa:=0 to 9 do Figures[aaa]:=chr(aaa+48);
Figures[10]:='A';
Figures[11]:='B';
Figures[12]:='C';
Figures[13]:='D';
Figures[14]:='E';
Figures[15]:='F';
end.
Программа, которая запрашивает число в 10-м формате и возвращает его же в двоичном:
Pascal
1
2
3
4
5
6
7
program Example;
uses Conv;
var n:byte;
begin
readln(n);
write('> ',ChangeBase(Num2Str(n,10),10,2));
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2009, 18:21
Помогаю со студенческими работами здесь

Системы счисления
Пожалуйста помогите с лабораторной! Даны натуральные числа N, M (2&lt;=M&lt;=16). Вывести на экран...

Системы счисления
Здравствуйте. Помогите пожалуйста с написанием программы со следующим условием: Написать...

Системы счисления
Программа перевода из 10 сс в 16 сс на Паскале. (как можно проще, используя функции, процедуры...)...

Системы счисления.
Здравствуйте! Подскажите пожалуйста. Что делает и как работает строка 1. s:chr(d+ord('0'))+s;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru