Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2015, 19:13   #1
АришаЯ
Пользователь
 
Регистрация: 16.05.2015
Сообщений: 11
По умолчанию Перевод из одной системы в другую

Исходный файл содержит числа в шестнадцатеричной системе счисления, отделенные друг от друга пробелами. Необходимо составить программу, которая для каждого такого числа из заданного диапазона после знака равенства указывает его значение в десятичной системе счисления, восьмеричной системе счисления или в дополнительном коде по выбору пользователя, например:
00101111 = 33353,10000 = 512, и т. д.
АришаЯ вне форума Ответить с цитированием
Старый 16.05.2015, 19:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу посоветовать такое: http://www.programmersforum.ru/showp...4&postcount=36
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.05.2015, 19:23   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Прочитайте здесь http://www.programmersforum.ru/showp...4&postcount=36
Может, поможет

Виталий опередил
Вадим Мошев вне форума Ответить с цитированием
Старый 17.05.2015, 10:46   #4
АришаЯ
Пользователь
 
Регистрация: 16.05.2015
Сообщений: 11
По умолчанию Спасибо

Спасибо большое за полезные ссылки.буду смотреть))
АришаЯ вне форума Ответить с цитированием
Старый 17.05.2015, 15:22   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

если знаете что такое Ексель и как пользоваться макросами в нем, то вот написал практически для Вас перевод из 10-тиричной в любую от 2 до 36-ричной и обратно.
перевод из любой в любую нужно сделать через перевод из любой в 10, потом из 10 в любую.
Код:
' из 10-ричной системы в какую-то n-ричную
Function D2xz(d As Long, n As Long) As String
  Dim r As Integer, s As String
  r = Int(Log(d + 0.001) / Log(n))  'Для 64, 128 перевод в 2-ичную систему дало неожиданный результат: Log(128)/Log(2) = 7 - это
  'правильно, а Int(Log(128)/Log(2)) уже равно 6 и в старшем разряде получается "2"!!!, пришлось добавить нелогичный 0.001
  Do
    s = s & D2C(Int(d / n ^ r))
    d = d - Int(d / n ^ r) * n ^ r
    r = r - 1
  Loop Until r = -1
  D2xz = s
End Function
' и обратно
Function xz2D(s As String, n As Long) As Long
  Dim r As Integer, d As Long
  For r = 0 To Len(s) - 1
    d = d + C2D(Mid(s, Len(s) - r, 1)) * n ^ r
  Next
  xz2D = d
End Function

Function D2C(i As Integer) As String
  D2C = Split("0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z", ",")(i)
End Function

Function C2D(c As String) As Long
  C2D = InStr("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", c) - 1
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.05.2015, 19:04   #6
АришаЯ
Пользователь
 
Регистрация: 16.05.2015
Сообщений: 11
По умолчанию процедура из 16-й в 2-ю без перевода в 10-ю

Помогите пожалуйста записать процедуру перевода из 16-й системы в 2-ю без перевода в 10-ю
АришаЯ вне форума Ответить с цитированием
Старый 19.05.2015, 16:38   #7
АришаЯ
Пользователь
 
Регистрация: 16.05.2015
Сообщений: 11
По умолчанию

нашла уже))
АришаЯ вне форума Ответить с цитированием
Старый 19.05.2015, 16:39   #8
АришаЯ
Пользователь
 
Регистрация: 16.05.2015
Сообщений: 11
По умолчанию

Но теперь не понимаю как извлечь числа,которые написаны через запятую из файла ((помогите !!!очень прошу
АришаЯ вне форума Ответить с цитированием
Старый 19.05.2015, 17:27   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Покажи чего добилась.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.05.2015, 20:51   #10
АришаЯ
Пользователь
 
Регистрация: 16.05.2015
Сообщений: 11
По умолчанию

я кусками накидала не знаю как связать всё
Program
Var

procedure ten;
var i:byte;
begin
k:=ord(s[0]);
chislo:=0;
for i:=1 to k do
begin
case s[i] of
'0'[i]:=0;
'1'[i]:=1;
'2'[i]:=2;
'3'[i]:=3;
АришаЯ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод чисел из одной системы в другую!!! Abay19941308 Общие вопросы Delphi 3 15.11.2013 22:15
Перевод из одной системы исчисления в другую. Svop Помощь студентам 7 20.12.2010 19:00
Перевод из одной системы счисления в другую на С++ innaa639 Помощь студентам 1 12.04.2010 14:34
Перевод из одной системы счисления в другую Sky_VSUH Помощь студентам 1 28.02.2008 20:18