2854 / 1983 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
|
||||||||||||||||
1 | ||||||||||||||||
Перевод в различные системы счисления06.02.2011, 22:42. Просмотров 105189. Ответов 43
Довольно частенько спрашивают перевод из одной СС в другую и поэтому я решил выложить исходник по переводу.Думаю кому нибудь да понадобится.Можно усовершенствовать но мне лень
![]()
Для ТP:
35
|
|
06.02.2011, 22:42 | |
Перевод в различные системы счисления
|
|
3 / 3 / 0
Регистрация: 02.04.2010
Сообщений: 52
|
|
09.12.2011, 16:34 | 21 |
а есть програмка чтоб из 2 сс в 16
0
|
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 16
|
|
17.01.2012, 22:02 | 22 |
SuPeR XaKer, К сожалению ваша программа не переводит из 16 СС в 10 СС если есть буквы, например она выдаст ошибку если пробывать перевести DNF
0
|
Модератор
62552 / 46721 / 32203
Регистрация: 18.05.2008
Сообщений: 113,077
|
|
18.01.2012, 07:15 | 23 |
А N это тоже по твоему цифра из СС 16? Делай проверку ввода цифр, или тебе и сопли вытереть?
0
|
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 16
|
||||||
22.01.2012, 11:07 | 24 | |||||
Я ошибся написал вместо "B" , N;
Ошибка именно вот здесь 136 repeat 137 write('ввод числа в ', cc2, '-й СС: '); 138 readln(n); n типа real, а если мы вводим число в 16 СС, то будет вылетать ошибка. что бы программа корректно работала должно быть написано так
0
|
2854 / 1983 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
|
|
22.01.2012, 11:13 [ТС] | 25 |
romanov95, да видимо когда первый код переписывал ошибся. ну не всё же разжёвывать за вас. Хорошо хоть str вставить догадались.
![]()
0
|
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 9
|
|
01.02.2012, 16:43 | 26 |
Подскажите, а можно ли как нибудь преобразовать сразу из 16ss в 2-3-4-5 и тд ss , без перевода в десятичную?
0
|
1 / 1 / 0
Регистрация: 24.02.2010
Сообщений: 8
|
|
10.02.2012, 23:32 | 27 |
абсолютно также, т.е делением для целой части и умножением для дробной, но выполнять это надо в 16СС, что не очень удобно. Алгоритм перевода чисел между СС универсален.
0
|
1 / 1 / 0
Регистрация: 24.02.2012
Сообщений: 28
|
|
26.02.2012, 14:38 | 28 |
Блин никак не получаетсЯ переделать для перевода целого p-ричного числа в десятичное
Помогите плиз
0
|
1 / 1 / 0
Регистрация: 24.02.2010
Сообщений: 8
|
|
26.02.2012, 14:50 | 29 |
Используй функцию ToDec. В качестве параметров функции задается число-строка и основание СС. Необходимо также написать функцию для проверки входных данных, т.е если в строке есть . или , то вывести сообщение, что число неверно и повторить ввод строки.
0
|
Модератор
62552 / 46721 / 32203
Регистрация: 18.05.2008
Сообщений: 113,077
|
||||||
26.02.2012, 14:54 | 30 | |||||
1
|
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 5
|
|
21.04.2012, 22:17 | 31 |
а можно ли модернизировать вашу программу , чтобы точность определялась автоматически???
0
|
1 / 1 / 0
Регистрация: 24.02.2010
Сообщений: 8
|
|
21.04.2012, 22:41 | 32 |
можно для определения точности использовать некую функцию, зависящую от исходной и искомой СС, но легче сделать фиксированную (излишнюю) точность, т.к для перевода одного разряда после запятой из 16СС в 2СС нужно 4 знака, для 5СС-2СС=3 знака и для 8СС-2СС тоже 3 знака, а для 2СС-16СС 1/4 знака т.е зависимость нелинейная, лучше взять избыточную константу (например 5 или 6), но возможно переполнение разрядной сетки, надо проверять, писал по теории.
Добавлено через 10 минут например использовать цикл if ss1>ss2 then i:=5*length(s) else i:=lenght(s) где СС1-исходная СС2-искомая i-точность, s-дробная часть числа
1
|
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 5
|
|
21.04.2012, 23:12 | 33 |
Я протестил....почти ничего не изменилось : при вводе AA.37 в 16 выводит 170.21 а обратно AA.35
0
|
1 / 1 / 0
Регистрация: 24.02.2010
Сообщений: 8
|
|
21.04.2012, 23:43 | 34 |
ну во-первых, мой листинг программы так и работает, могу выслать в ближайшие пару дней на e-mail, а во-вторых перевод туда-обратно не может так сильно отличаться!
0
|
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 5
|
|
22.04.2012, 12:28 | 35 |
не могли ли вы посмотреть мою программу и подсказать как написать эту функцию ...
Программа перевода из одной системы счисления в другую
0
|
ArtiDelion
|
|
30.05.2012, 22:32 | 36 |
Добрый день уважаемые форумчане. Только начал изучать Паскаль. Помогите плиз новичку. Мне нужно написать 2 небольшие программки, одна чтобы переводила числа из 19-тиричной сс в 10-тичную, а вторая наоборот из десятичной в 19-тиричную. Пытался всячески переделать и подстроить для этого дела шаблон из первого поста, но у меня получилась какая-то ересь. Если нетрудно, покажите как они должны выглядеть, с пояснениям в фигурных скобках, что какие переменные значат и основные процессы, хотелось бы не просто сдать готовые работы, но и самому разобраться. Заранее благодарю.
|
Модератор
62552 / 46721 / 32203
Регистрация: 18.05.2008
Сообщений: 113,077
|
|||||||||||
31.05.2012, 09:04 | 37 | ||||||||||
1
|
0 / 0 / 0
Регистрация: 31.05.2012
Сообщений: 3
|
|
31.05.2012, 11:05 | 38 |
Онлан калькулятор для перевода чисел в разные системы счисления Тут можно проверить результаты
http://векторное-управление.рф/perevod-chisel.html
0
|
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179
|
|
25.09.2013, 15:22 | 39 |
Добрый день, был бы очень признателен, если бы вы выложили программу, которая переводит целые числа из системы в систему(из любой в любую). Голову сломал уже себе, а то, что в данной теме и на форуме есть не подходит.
Надеюсь, что за некропостинг не покарают.
0
|
Модератор
62552 / 46721 / 32203
Регистрация: 18.05.2008
Сообщений: 113,077
|
||||||
25.09.2013, 15:34 | 40 | |||||
Для 2-16, нужно больше, увеличьте размер массива цифр.
2
|
25.09.2013, 15:34 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Перевод любого числа из 16 системы счисления в 2 систему счисления.
Перевод из системы счисления 16 в 10
Перевод из 10 системы счисления. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |