C2C R Online MC — что это такое?
«С2С r online mc» – «Consumer-to-Consumer» или «Card2Card», в переводе с английского, дословно переводится как «потребитель для потребителя». Это электронная платёжная система. Она работает на основе Международной платёжной системы. С её помощью возможно перевести денежные средства с одной банковской карты на другую.
Такие переводы выполняются быстро, могут быть с взиманием комиссионной платы и без. «С2С» используется только для перевода денег с карты на карту физических лиц, исключая предпринимателей и юридических лиц.
Сервис по переводу денег с карточки на карточку предоставляют практически все банки, однако, многие из них взимают комиссию от 1 до 3%. Особенно, когда карты открыты в разных кредитных организациях.
Если использовать «С2С r online mc» между картами одного и того же банка, то комиссия не взимается.
Для перевода денежных средств с одной карты на другую нужно использовать реквизиты, указанные на карточке.
Процедура практически такая же, как при онлайн-оплате, совершённых в интернете. Необходимо вбить данные карт, с которой переводятся деньги и на которую поступят, а также сумму перевода. Для подтверждения того, что операцию совершает именно собственник карты, необходимо указать код, который будет выслан на номер телефона владельца счёта, с которого происходит списание денег. Если все данные введены правильно, то деньги с одной карточки переводятся на другую. Зачисление происходит практически мгновенно.
Самый быстрый и доступный способ использование системы «С2С» – через личный кабинет клиента банка. Перевести в нём деньги с карты на карту можно, как между своими счетами, так и на карты других банков.
Большинство кредитных организаций устанавливают лимит на ежедневный и ежемесячный перевод денежных средств по средствам «С2С r online mc».
Ни в коем случае не стоит переводить деньги с кредитной карты, так как банк выставит огромные проценты за переведённые средства.
В переводе «С2С» может быть отказано в нескольких случаях:
- Неверно введены данные карт.
- Превышен лимит переводимых денежных средств.
- Одна из карт заблокирована или не активирована.
- Одна из карт не доступна для данного вида перевода.
В настоящее время электронная платёжная система «С2С r online mc» пользуется огромной популярностью.
Реализация шлюза P2P операций перевода с карты на карту / Habr
Для своего проекта мне потребовалось реализовать возможность перевода с карты на карту. Для официального подключения к интерфейсу любого банка необходимо заключение договора и выполнение ряда условий. Поэтому было принято решение сделать шлюз к публичной странице банка. Для этих целей были выбраны два банка Тинькофф и БИН Банк предоставляющие возможность перевода на “свои” карты без комиссии. Подробней о тарифах и ограничениях на перевод вы можете ознакомиться на соответствующих страницах банков. В этой статье краткое описание работы шлюза, реализующего функциональность приема платежей на карту.
На картинке упрощенно представлен механизм авторизации транзакции, то, что происходит “под капотом”, когда вы проводите операцию оплаты или перевода с карты на карту, и вводите для подтверждения SMS код.
Рассмотрим пошагово:
- Вводите карточные данные и сумму, и отправляете на сайт банка.
- Банк обращается к специализированному сервису (Merchant Plug-In MPI), который генерирует специальный запрос PaReq, представляющий из себя XML c ЭЦП, содержащий параметры транзакции, а также данные, куда данный запрос должен быть направлен (Access Control Server ACS), и куда направить авторизационный ответ (PaRes).
- Банк возвращает пользователю страницу, содержащую информацию от MPI и автоматически переадресующую браузер на страницу ACS банка, выпустившего карту пользователя. Пользователю отображается страница для ввода SMS кода и направляется SMS на зарегистрированный в банке-эмитенте номер телефона.
- После ввода SMS-кода, ACS сервер формирует страницу c авторизационным ответом (PaRes), перенаправляющую пользователя на страницу MPI для завершения операции, либо отказа в ее выполнении.
Для более глубокого понимания процесса читайте соответствующие документы Visa или Mastercard, для решения этой задачи данного уровня вполне достаточно.
Для обеспечения бесшовной работы шлюза, чтоб не торчали уши сайта, через который производится перевод, необходимо встроиться в этот процесс переадресации браузера между MPI и ACS. Для этого нужно заменить адрес (TermUrl) полученный от MPI. Это адрес, на который будет переадресован PaRes после завершения пользователем авторизации, в качестве TermUrl в запрос вписывается адрес шлюза. Это позволит шлюзу получить ответ (RaRes) отправить его серверу MPI и обработав ответ MPI направить пользователя на страницу успешного или не успешного завершения транзакции.
Шлюз работает между браузером пользователя и страницей банка, реализует функции ввода/вывода эмулируя страницу банка, дополняет и изменяет данные, и обрабатывает ответы и ошибки от сервисов банка.
Протокол взаимодействия с каждым из банков выяснялся вручную путем back engineering взаимодействия между броузером и сайтом банка, в целом логика одна и та же, разница в переменных и методах передачи. В целом это является узким местом, и работоспособность софта зависит от неизменности API, как только банк изменит работу сервиса, придется менять и логику работы шлюза.
Рассмотрим подробней логику работы.
Для обеспечения проведения операций в шлюзе реализована платежная страница, вызов к которой осуществляется по адрес:
http://<адрес шлюза>/pay/page?payid=123456&sum=100&text=Test
В URL содержатся следующие переменные:
payid– ID операции необходимое для идентификации результатов запроса на оплату после завершения транзакции;
sum – сумма операции;
text – информационное поля “Назначение платежа”.
После заполнения карточных данных, согласия с условиями выполнения, производится запрос комиссии на проведение операции. Размер комиссии и банк (один из двух Тинькофф и БИН), через который будет произведен перевод, зависит от карты, указанной в настройках шлюза как приемник перевода и доступности сервиса банка. В шлюзе реализован простой механизм маршрутизации и обработки ошибок: выбирается всегда Тинькофф, если страница банка не доступна, то выбирается страница БИН Банка.
После нажатия кнопки перевести, происходит переадресация на страницу банка эмитента, выпустившего карту (ACS), с которой будет производиться операция списания. Шлюз произведет запрос PaReq параметров у MPI, заменит TermUrl и направит данные пользователю, предварительно запомнив параметры транзакции в кэш (Redis).
После завершения авторизации, PaRes поступят в шлюз, и он на основании данных кэша направит их соответствующему МPI, обработает ответ и перенаправит пользователя на одну из страниц (ERROR_PAGE, SUCCESS_PAGE), указанных в параметрах настройки шлюза.
URL вызова страницы успешного завершения операции содержит переменную payid, передающую результаты выполнения операции в виде JWT c ЭЦП.
Пример JWT:
eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiI2Njk2NzFlYi1mYmZlLTVlMTMtYTdkZi05NDEwZjg1N2U5ODkiLCJpYXQiOjE1NzE5MDg5MjgsInN1YiI6ImZpeGVkIiwiaXNzIjoicnUucGhvbmU0cGF5IiwicGF5X2lkIjoiMTIzNDUiLCJzdW0iOiIxMDAuMCIsInRyYW5zYWN0aW9uX2lkIjoiODY4MTE5ODYzIn0.c-IK3FowoR_tVe3-cpT7-rmA4EQhYy8rZkWrWASHZlc0ZzzpQont5XriCSzuDaY7jf7iIC8ZAxknAMwmTNmAHg
Верифицируя содержимое JWT, можно получить достоверную информацию об успешности выполнения операции, JWT токен выполняет функцию аналогичную PaReq и обеспечивает возможность интеграции с внешней системой.
Данное решение представляет из себя прототип платежного шлюза, с помощью которого можно реализовать интернет эквайринг (прием оплаты по карте) на своем сайте или странице в соцсети. Платежную страницу можно параметризировать или написать свою, творчески доработать софт, главное передавать на вход сумму и id операции и проверять на выходе, что ничего не было творчески изменено еще кем-то. Исходники и рабочие примеры доступны на github.
Там же размещен шлюз, для пополнения своего кошелька VK.pay, который также может быть использован в качестве платежного шлюза. В целом, реализует те же самые принципы, для реализации части функционала использовался Selenium, с помощью которого реализуется авторизация на сайте и авторизация для доступа к кошельку.
ВАЖНО! Любые интернет транзакции потенциально опасны, ваши данные могут быть украдены, необходимо принимать меры предосторожности при проведении интернет транзакций.
ВАЖНО! За кражу средств с чужих банковских карт предусмотрена уголовная ответственность (ст. 159.3, 159.6 УК РФ).
Системы счисления. Перевод из одной системы в другую.
1. Порядковый счет в различных системах счисления.
В современной жизни мы используем позиционные системы счисления, то есть системы, в которых число, обозначаемое цифрой, зависит от положения цифры в записи числа. Поэтому в дальнейшем мы будем говорить только о них, опуская термин «позиционные».
Для того чтобы научиться переводить числа из одной системы в другую, поймем, как происходит последовательная запись чисел на примере десятичной системы.
Поскольку у нас десятичная система счисления, мы имеем 10 символов (цифр) для построения чисел. Начинаем порядковый счет: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифры закончились. Мы увеличиваем разрядность числа и обнуляем младший разряд: 10. Затем опять увеличиваем младший разряд, пока не закончатся все цифры: 11, 12, 13, 14, 15, 16, 17, 18, 19. Увеличиваем старший разряд на 1 и обнуляем младший: 20. Когда мы используем все цифры для обоих разрядов (получим число 99), опять увеличиваем разрядность числа и обнуляем имеющиеся разряды: 100. И так далее.
Попробуем сделать то же самое в 2-ной, 3-ной и 5-ной системах (введем обозначение для 2-ной системы, для 3-ной и т.д.):
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 10 | 3 |
4 | 100 | 11 | 4 |
5 | 101 | 12 | 10 |
6 | 110 | 20 | 11 |
7 | 111 | 21 | 12 |
8 | 1000 | 22 | 13 |
9 | 1001 | 100 | 14 |
10 | 1010 | 101 | 20 |
11 | 1011 | 102 | 21 |
12 | 1100 | 110 | 22 |
13 | 1101 | 111 | 23 |
14 | 1110 | 112 | 24 |
15 | 1111 | 120 | 30 |
Если система счисления имеет основание больше 10, то нам придется вводить дополнительные символы, принято вводить буквы латинского алфавита. Например, для 12-ричной системы кроме десяти цифр нам понадобятся две буквы ( и ):
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | |
11 | |
12 | 10 |
13 | 11 |
14 | 12 |
15 | 13 |
2.Перевод из десятичной системы счисления в любую другую.
Чтобы перевести целое положительное десятичное число в систему счисления с другим основанием, нужно это число разделить на основание. Полученное частное снова разделить на основание, и дальше до тех пор, пока частное не окажется меньше основания. В результате записать в одну строку последнее частное и все остатки, начиная с последнего.
Пример 1. Переведем десятичное число 46 в двоичную систему счисления.
Пример 2. Переведем десятичное число 672 в восьмеричную систему счисления.
Пример 3. Переведем десятичное число 934 в шестнадцатеричную систему счисления.
3. Перевод из любой системы счисления в десятичную.
Для того, чтобы научиться переводить числа из любой другой системы в десятичную, проанализируем привычную нам запись десятичного числа.
Например, десятичное число 325 – это 5 единиц, 2 десятка и 3 сотни, т.е.
Точно так же обстоит дело и в других системах счисления, только умножать будем не на 10, 100 и пр., а на степени основания системы счисления. Для примера возьмем число 1201 в троичной системе счисления. Пронумеруем разряды справа налево начиная с нуля и представим наше число как сумму произведений цифры на тройку в степени разряда числа:
Это и есть десятичная запись нашего числа, т.е.
Пример 4. Переведем в десятичную систему счисления восьмеричное число 511.
Пример 5. Переведем в десятичную систему счисления шестнадцатеричное число 1151.
4. Перевод из двоичной системы в систему с основанием «степень двойки» (4, 8, 16 и т.д.).
Для преобразования двоичного числа в число с основанием «степень двойки» необходимо двоичную последовательность разбить на группы по количеству цифр равному степени справа налево и каждую группу заменить соответствующей цифрой новой системы счисления.
Например, Переведем двоичное 1100001111010110 число в восьмеричную систему. Для этого разобьем его на группы по 3 символа начиная справа (т.к. ), а затем воспользуемся таблицей соответствия и заменим каждую группу на новую цифру:
Таблицу соответствия мы научились строить в п.1.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
Т.е.
Пример 6. Переведем двоичное 1100001111010110 число в шестнадцатеричную систему.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
5.Перевод из системы с основанием «степень двойки» (4, 8, 16 и т.д.) в двоичную.
Этот перевод аналогичен предыдущему, выполненному в обратную сторону: каждую цифру мы заменяем группой цифр в двоичной системе из таблицы соответствия.
Пример 7. Переведем шестнадцатеричное число С3A6 в двоичную систему счисления.
Для этого каждую цифру числа заменим группой из 4 цифр (т.к. ) из таблицы соответствия, дополнив при необходимости группу нулями вначале:
Звоните нам: 8 (800) 775-06-82 (бесплатный звонок по России) +7 (495) 984-09-27 (бесплатный звонок по Москве)
Или нажмите на кнопку «Узнать больше», чтобы заполнить контактную форму. Мы обязательно Вам перезвоним.
Перевод чисел из одной системы счисления в другую онлайн
С помощю этого онлайн калькулятора можно перевести целые и дробные числа из одной системы счисления в другую. Дается подробное решение с пояснениями. Для перевода введите исходное число, задайте основание сисемы счисления исходного числа, задайте основание системы счисления, в которую нужно перевести число и нажмите на кнопку «Перевести». Теоретическую часть и численные примеры смотрите ниже.
Результат уже получен!Перевод целых и дробных чисел из одной системы счисления в любую другую − теория, примеры и решения
Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:
число | 6 | 3 | 7 | 2 |
позиция | 3 | 2 | 1 | 0 |
Тогда число 6372 можно представить в следующем виде:
6372=6000+300+70+2 =6·103+3·102+7·101+2·100.
Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.
Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:
число | 1 | 2 | 8 | 7 | . | 9 | 2 | 3 |
позиция | 3 | 2 | 1 | 0 | -1 | -2 | -3 |
Тогда число 1287.923 можно представить в виде:
1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·103 +2·102 +8·101+7·100+9·10-1+2·10-2+3·10-3.
В общем случае формулу можно представить в следующем виде:
Цn·sn+Цn-1·sn-1+…+Ц1·s1+Ц0·s0+Д-1·s-1+Д-2·s-2+…+Д-k·s-k
(1)
где Цn-целое число в позиции n, Д-k— дробное число в позиции (-k), s — система счисления.
Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления — из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления — из множества цифр {0,1}, в шестнадцатеричной системе счисления — из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.
В таблице Таб.1 представлены числа в разных системах счисления.
Таблица 1 | |||
---|---|---|---|
Система счисления | |||
10 | 2 | 8 | 16 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
Перевод чисел из одной системы счисления в другую
Для перевода чисел с одной системы счисления в другую, проще всего сначала перевести число в десятичную систему счисления, а затем, из десятичной системы счисления перевести в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.
Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:
1·26+0·25+1·24+1·23+1·22 +0·21+1·20+0·2-1+0·2-2+1·2-3 =64+16+8+4+1+1/8=93.125
Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:
Пример 3. Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:
Здесь A -заменен на 10, B — на 11, C— на 12, F — на 15.
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления нужно переводить отдельно целую часть числа и дробную часть числа.
Целую часть числа переводится из десятичной СС в другую систему счисления — последовательным делением целой части числа на основание системы счисления (для двоичной СС — на 2, для 8-ичной СС — на 8, для 16-ичной — на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.
Пример 4. Переведем число 159 из десятичной СС в двоичную СС:
159 | 2 | ||||||
158 | 79 | 2 | |||||
1 | 78 | 39 | 2 | ||||
1 | 38 | 19 | 2 | ||||
1 | 18 | 9 | 2 | ||||
1 | 8 | 4 | 2 | ||||
1 | 4 | 2 | 2 | ||||
0 | 2 | 1 | |||||
0 |
Рис. 1
Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111. Следовательно можно записать:
15910=100111112.
Пример 5. Переведем число 615 из десятичной СС в восьмеричную СС.
615 | 8 | ||
608 | 76 | 8 | |
7 | 72 | 9 | 8 |
4 | 8 | 1 | |
1 |
Рис. 2
При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147(см. Рис. 2). Следовательно можно записать:
61510=11478.
Пример 6. Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.
19673 | 16 | ||
19664 | 1229 | 16 | |
9 | 1216 | 76 | 16 |
13 | 64 | 4 | |
12 |
Рис. 3
Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 — D. Следовательно наше шестнадцатеричное число — это 4CD9.
Далее рассмотрим перевод правильных десятичных дробей в двоичную СС, в восьмеричную СС, в шестнадцатеричную СС и т.д.
Для перевода правильных десятичных дробей (вещественное число с нулевой целой частью) в систему счисления с основанием s необходимо данное число последовательно умножить на s до тех пор, пока в дробной части не получится чистый нуль, или же не получим требуемое количество разрядов. Если при умножении получится число с целой частью, отличное от нуля, то эту целую часть не учитывать (они последовательно зачисливаются в результат).
Рассмотрим вышеизложенное на примерах.
Пример 7. Переведем число 0.214 из десятичной системы счисления в двоичную СС.
0.214 | ||
x | 2 | |
0 | 0.428 | |
x | 2 | |
0 | 0.856 | |
x | 2 | |
1 | 0.712 | |
x | 2 | |
1 | 0.424 | |
x | 2 | |
0 | 0.848 | |
x | 2 | |
1 | 0.696 | |
x | 2 | |
1 | 0.392 |
Рис. 4
Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011.
Следовательно можно записать:
0.21410=0.00110112.
Пример 8. Переведем число 0.125 из десятичной системы счисления в двоичную СС.
0.125 | ||
x | 2 | |
0 | 0.25 | |
x | 2 | |
0 | 0.5 | |
x | 2 | |
1 | 0.0 |
Рис. 5
Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:
0.12510=0.0012.
Пример 9. Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.
0.214 | ||
x | 16 | |
3 | 0.424 | |
x | 16 | |
6 | 0.784 | |
x | 16 | |
12 | 0.544 | |
x | 16 | |
8 | 0.704 | |
x | 16 | |
11 | 0.264 | |
x | 16 | |
4 | 0.224 |
Рис. 6
Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:
0.21410=0.36C8B416.
Пример 10. Переведем число 0.512 из десятичной системы счисления в восьмеричную СС.
0.512 | ||
x | 8 | |
4 | 0.096 | |
x | 8 | |
0 | 0.768 | |
x | 8 | |
6 | 0.144 | |
x | 8 | |
1 | 0.152 | |
x | 8 | |
1 | 0.216 | |
x | 8 | |
1 | 0.728 |
Рис. 7
Получили:
0.51210=0.4061118.
Пример 11. Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:
159.12510=10011111.0012.
Пример 12. Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим:
19673.21410=4CD9.36C8B416.
Перевод чисел в различные системы счисления с решением | Онлайн калькулятор
Калькулятор позволяет переводить целые и дробные числа из одной системы счисления в другую. Основание системы счисления не может быть меньше 2 и больше 36 (10 цифр и 26 латинских букв всё-таки). Длина чисел не должна превышать 30 символов. Для ввода дробных чисел используйте символ .
или ,
. Чтобы перевести число из одной системы в другую, введите исходное число в первое поле, основание исходной системы счисления во второе и основание системы счисления, в которую нужно перевести число, в третье поле, после чего нажмите кнопку «Получить запись».
Исходное число записано в 23456789101112131415161718192021222324252627282930313233343536-ой системе счисления.
Хочу получить запись числа в 23456789101112131415161718192021222324252627282930313233343536-ой системе счисления.
Получить запись
=
Выполнено переводов: 3521962
Также может быть интересно:
Системы счисления
Системы счисления делятся на два типа: позиционные и не позиционные. Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.
Пример 1. Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:
Число: | 5 | 9 | 2 | 1 |
Позиция: | 3 | 2 | 1 | 0 |
Число 5921 можно записать в следующем виде: 5921
= 5000+900+20+1
= 5·103+9·102+2·101+1·100
. Число 10 является характеристикой, определяющей систему счисления. В качестве степеней взяты значения позиции данного числа.
Пример 2. Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:
Число: | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Позиция: | 3 | 2 | 1 | 0 | -1 | -2 | -3 |
Число 1234.567 можно записать в следующем виде: 1234.567
= 1000+200+30+4+0.5+0.06+0.007
= 1·103+2·102+3·101+4·100+5·10-1+6·10-2+7·10-3
.
Перевод чисел из одной системы счисления в другую
Наиболее простым способом перевода числа с одной системы счисления в другую, является перевод числа сначала в десятичную систему счисления, а затем, полученного результата в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:
1. Перевести число 1001101.11012
в десятичную систему счисления.
Решение: 10011.11012
= 1·24+0·23+0·22+1·21+1·20+1·2-1+1·2-2+0·2-3+1·2-4
= 16+2+1+0.5+0.25+0.0625
= 19.812510
Ответ: 10011.11012
= 19.812510
2. Перевести число E8F.2D16
в десятичную систему счисления.
Решение: E8F.2D16
= 14·162+8·161+15·160+2·16-1+13·16-2
= 3584+128+15+0.125+0.05078125
= 3727.1757812510
Ответ: E8F.2D16
= 3727.1757812510
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления целую и дробную части числа нужно переводить отдельно.
Перевод целой части числа из десятичной системы счисления в другую систему счисления
Целая часть переводится из десятичной системы счисления в другую систему счисления с помощью последовательного деления целой части числа на основание системы счисления до получения целого остатка, меньшего основания системы счисления. Результатом перевода будет являться запись из остатков, начиная с последнего.
3. Перевести число 27310
в восьмиричную систему счисления.
Решение: 273 / 8 = 34 и остаток 1, 34 / 8 = 4 и остаток 2, 4 меньше 8, поэтому вычисления завершены. Запись из остатков будет иметь следующий вид: 421
Проверка: 4·82+2·81+1·80
= 256+16+1
= 273
= 273
, результат совпал. Значит перевод выполнен правильно.
Ответ: 27310
= 4218
Рассмотрим перевод правильных десятичных дробей в различные системы счисления.
Перевод дробной части числа из десятичной системы счисления в другую систему счисления
Напомним, правильной десятичной дробью называется вещественное число с нулевой целой частью. Чтобы перевести такое число в систему счисления с основанием N нужно последовательно умножать число на N до тех пор, пока дробная часть не обнулится или же не будет получено требуемое количество разрядов. Если при умножении получается число с целой частью, отличное от нуля, то целая часть дальше не учитывается, так как последовательно заносится в результат.
4. Перевести число 0.12510
в двоичную систему счисления.
Решение: 0.125·2 = 0.25
(0 — целая часть, которая станет первой цифрой результата), 0.25·2 = 0.5
(0 — вторая цифра результата), 0.5·2 = 1.0
(1 — третья цифра результата, а так как дробная часть равна нулю, то перевод завершён).
Ответ: 0.12510
= 0.0012