fs444
7 / 11 / 0
Регистрация: 18.08.2009
Сообщений: 486
|
||||||
#1 | ||||||
Программа перевода числа из 10 СС в 2 СС - C++15.02.2010, 15:36. Просмотров 19470. Ответов 42
Метки нет Все метки)
(
У Дейтлов есть задача:
10 СС -> 2 СС 10 СС -> 8 СС 10 СС -> 16 СС Я для пробы написал код, который переводит десятичную 10 в двоичную 1010. Код очень корявый и не выводит то, что мне надо. Подскажите, в ту ли сторону я иду (уже 3 дня разбираюсь, и никак)?
1
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
15.02.2010, 15:36 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа перевода числа из 10 СС в 2 СС (C++):
42
Программа для перевода числа - C++ Программа перевода числа из 10ой системы в двоичную - C++ Программа перевода числа из десятичной системы в восмеричную - C++ Программа для перевода числа из одной системы счисления в другую - C++ Программа для перевода заданного числа в троичную систему счисления - C++ Программа перевода целого числа без знака в двоичную систему счисления - C++ |
M128K145
![]() ![]() 8312 / 3532 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
|
||||||
17.02.2010, 00:34 | #16 | |||||
1
|
easybudda
Модератор
![]() ![]() 9958 / 5881 / 993
Регистрация: 25.07.2009
Сообщений: 11,118
|
|
17.02.2010, 00:57 | #17 |
1
|
M128K145
![]() ![]() 8312 / 3532 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
|
||||||
17.02.2010, 01:09 | #18 | |||||
easybudda, кстати да, но это не суть важно, ведь главное алгоритм)
0
|
easybudda
Модератор
![]() ![]() 9958 / 5881 / 993
Регистрация: 25.07.2009
Сообщений: 11,118
|
|
17.02.2010, 01:32 | #19 |
M128K145, ага... Кстати, 13 сообщение в этой ветке чем-то напоминает...
![]() Только я там перемудрил немного ![]()
0
|
M128K145
![]() ![]() 8312 / 3532 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
|
||||||
17.02.2010, 02:06 | #20 | |||||
easybudda, хм... действительно, даже не заметил
![]() Добавлено через 15 минут чего-то так лень искать стало, вот весь код, немного сейчас конечно переделал в виде функций, но смысл остался
1
|
easybudda
Модератор
![]() ![]() 9958 / 5881 / 993
Регистрация: 25.07.2009
Сообщений: 11,118
|
|
17.02.2010, 02:20 | #21 |
M128K145, ну я помню, в какой-то ветке писал что-то вроде
printf("%d", ( intval & 1 << i ) ? 1 : 0); Вы же мне проще способ подсказали ![]()
0
|
Nameless One
![]() 5781 / 3430 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
17.02.2010, 03:20 | #22 |
Мне одному кажется, что эта функция печатает цифры двоичного числа в обратном порядке?
0
|
M128K145
![]() ![]() 8312 / 3532 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
|
|
17.02.2010, 10:51 | #23 |
Nameless One, судя по коду так и происходит
0
|
fs444
7 / 11 / 0
Регистрация: 18.08.2009
Сообщений: 486
|
||||||
18.02.2010, 08:13 [ТС] | #24 | |||||
Я написал код, который переводит десятичную 10 в двоичную 1010 и 8-ричную 12.
0
|
Nameless One
![]() 5781 / 3430 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
18.02.2010, 10:50 | #25 |
- стандартный способ. Если же хочешь реализовать сам, то придется работать со строками
0
|
fs444
7 / 11 / 0
Регистрация: 18.08.2009
Сообщений: 486
|
|
18.02.2010, 12:39 [ТС] | #26 |
0
|
Nameless One
![]() 5781 / 3430 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
18.02.2010, 12:52 | #27 | |||||
hex и oct - это не переменные, а манипуляторы, указывающие, что следующее число (decs), выводится, в соответствующей системе счисления. Т.е.
0
|
fs444
7 / 11 / 0
Регистрация: 18.08.2009
Сообщений: 486
|
|||||||||||
18.02.2010, 14:58 [ТС] | #29 | ||||||||||
Слепил я такую вот штуковину:
0
|
Nameless One
![]() 5781 / 3430 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
18.02.2010, 16:19 | #30 |
fs444, что значит "портится"?
Вот пример использования манипулятора hex. В правильности вывода легко убедиться. Добавлено через 12 минут Кстати, если ты использовал манипулятор, задающий СС, то весь дальнейший вывод будет продолжаться в этой СС. Т.е., чтобы снова выводить числа в десятичной СС, тебе нужно указать манипулятор dec. Добавлено через 3 минуты Существует манипулятор, аналогичный dec, hex и oct - setbase(int). В скобках пишешь СС, в которой ты хочешь выводить числа, например, setbase(8) - аналогично манипулятору oct. Так как этот манипулятор имеет параметр, для его использования необходимо подключить заголовочный файл iomanip. К сожалению, с помощью этого манипулятора тоже нельзя задать вывод в двоичной СС, а только в восьмеричной (setbase(8)), десятичной (по умолчанию) и шестнадцатеричной. Если ты укажешь любую другую СС, то вывод будет производится в десятичной СС
0
|
18.02.2010, 16:19 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
18.02.2010, 16:19 |
Привет! Вот еще темы с ответами:
30
Программа для перевода числа из десятичной системы счисления во все существующие С++ - C++ Программа для перевода данного натурального числа в N-ную систему счисления - C++ Программа перевода целого числа без знака в двоичную систему счисления - C++ Программа перевода - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |