Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> системы счисления, есть ли в с++ встроенные средства 
V
    Опции темы
redwhite90
Дата 23.10.2011, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



Есть ли в с++ какое то встроенное средство для перевода чисел из одной системы счисления в другую?

PM MAIL   Вверх
mes
Дата 23.10.2011, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(redwhite90 @  23.10.2011,  10:52 Найти цитируемый пост)
для перевода чисел из одной системы счисления в другую?

для ввода/вывода чисел в заданной системе счисления - да есть ..

вот у стандартных потоков  для 8-,10-,16-ричных систем : 
http://www.cplusplus.com/reference/iostrea...nipulators/hex/

расширяется путем написания нужного манипулятора..

также можно взглянуть на наследованные от си 
http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/
и те что ниже..

Это сообщение отредактировал(а) mes - 23.10.2011, 13:13


--------------------
PM MAIL WWW   Вверх
redwhite90
Дата 23.10.2011, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



а если мне числа надо постоянно переводить из 10 в двоичную СС, причём не при вводе/выводе, то придёся ручками всё писать?
PM MAIL   Вверх
mes
Дата 23.10.2011, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(redwhite90 @  23.10.2011,  12:17 Найти цитируемый пост)
а если мне числа надо постоянно переводить из 10 в двоичную СС,

числа всегда хранятся в двоичном виде.. Вы можете их переводить только из/в строкового/e представления/e.. А это уже ввод/вывод..
Выводить можно не только на монитор, но и в строку (смотрите std::stringstream) ..

Добавлено через 3 минуты и 30 секунд
Цитата(redwhite90 @  23.10.2011,  12:17 Найти цитируемый пост)
 мне числа надо постоянно переводить из 10 в двоичную СС

постарайтесь поточнее сформулировать, что именно Вам нужно, тогда и ответ будет более точный.. 


Это сообщение отредактировал(а) mes - 23.10.2011, 13:25


--------------------
PM MAIL WWW   Вверх
redwhite90
Дата 23.10.2011, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



есть 6 битовое число(двоичное).  его надо разделить на 2
1 - 1 и последний бит
2 - средние биты 
и перевести оба в десятичную СС

Добавлено @ 13:35
это должны быть две переменных типа int

Это сообщение отредактировал(а) redwhite90 - 23.10.2011, 13:35
PM MAIL   Вверх
newbee
Дата 23.10.2011, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 3
Всего: 19



redwhite90, не надо ничего никуда переводить. Все данные в машине хранятся в двоичном виде (есть экзотические недвоичные машины, но не суть важно). Nо, что комп печатает на экран, - лишь способ представления данных в человекочитаемом виде.

Цитата(redwhite90 @  23.10.2011,  14:32 Найти цитируемый пост)
есть 6 битовое число(двоичное).  его надо разделить на 2
1 - 1 и последний бит
2 - средние биты 
и перевести оба в десятичную СС
Смотри на битовые операции: "сдвиг вправо" (>>) и "и" (&).

А стандартной функции вывода числа в двоичном виде кстати говоря нет. Можешь сделать себе первый урок: вывод двоичного числа и второй урок: выполнение основного задания по разделению числа.

Это сообщение отредактировал(а) newbee - 23.10.2011, 14:18


--------------------
You're face to face
With man who sold the world
PM   Вверх
redwhite90
Дата 23.10.2011, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



я что-то не понял как это реализовать

Добавлено через 1 минуту и 36 секунд
у меня исходное число(6 bit)  будети иметь вид
101011 например 
PM MAIL   Вверх
newbee
Дата 23.10.2011, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 3
Всего: 19



redwhite90, почитай про маски и сдвиги, потренируйся, если все еще не будет получаться, возвращайся с более конкретными вопросами "что я делаю не так?".


--------------------
You're face to face
With man who sold the world
PM   Вверх
mes
Дата 23.10.2011, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(redwhite90 @  23.10.2011,  12:32 Найти цитируемый пост)
и перевести оба в десятичную СС

Цитата(redwhite90 @  23.10.2011,  12:32 Найти цитируемый пост)
это должны быть две переменных типа int

Цитата(redwhite90 @  23.10.2011,  13:25 Найти цитируемый пост)
я что-то не понял как это реализовать

перевести в систему счисления можно только строковое представление числа..
в инте оно всегда машинозависимо (т.е. в двоичной сс)


Цитата(redwhite90 @  23.10.2011,  12:32 Найти цитируемый пост)
есть 6 битовое число(двоичное).  его надо разделить на 2
1 - 1 и последний бит
2 - средние биты 

не понятно что Вы этим хотели сказать, но работая с битами никак не сказывается на вывод, и поумолчанию который будет выведен в 10ричной системе счисления.. 

Цитата(redwhite90 @  23.10.2011,  12:32 Найти цитируемый пост)
есть 6 битовое число(двоичное).  

ну просил же почетче формулировать.. шесть бит могут быть как частью потока данных, так частью переменной, так и строкой.. 
в вашей интерпретации задачи абсолютноне понятно, чего Вы желаете.. 




--------------------
PM MAIL WWW   Вверх
redwhite90
Дата 23.10.2011, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



mes, 6 битовое число, о котором идёт речь, это строка string

Добавлено через 4 минуты и 53 секунды
и как сделать побитовый XOR у двух строк?
string1
10101010101111010100101
string2
11010101010111000000010

есть какие-то конверторы?
PM MAIL   Вверх
mes
Дата 23.10.2011, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(redwhite90 @  23.10.2011,  13:42 Найти цитируемый пост)
mes, 6 битовое число, о котором идёт речь, это строка string 

тоггда посмотрите сюда : 
http://www.cplusplus.com/reference/stl/bitset/

Добавлено через 57 секунд
Цитата(redwhite90 @  23.10.2011,  13:42 Найти цитируемый пост)
и как сделать побитовый XOR у двух строк?

http://www.cplusplus.com/reference/stl/bitset/operators/

Это сообщение отредактировал(а) mes - 23.10.2011, 14:49


--------------------
PM MAIL WWW   Вверх
redwhite90
Дата 23.10.2011, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



mes, спасибо -  то, что надо.

строку только резать наверное как-то криво придётся при помощи []
PM MAIL   Вверх
mes
Дата 23.10.2011, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(redwhite90 @  23.10.2011,  14:41 Найти цитируемый пост)
строку только резать наверное как-то криво придётся при помощи [] 

зачем резать ? смотрите внимательней на конструкторы битсета smile



--------------------
PM MAIL WWW   Вверх
redwhite90
Дата 23.10.2011, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



как я понял можно только со 2-ого по 4-ый бит. а чтоб 1-ый и последний (не второй) - так нельзя
PM MAIL   Вверх
redwhite90
Дата 23.10.2011, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



как я понял можно только со 2-ого по 4-ый бит. а чтоб 1-ый и последний (не второй) - так нельзя
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0864 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.