![]() |
|
Перевод в 2 СС и в 10 СС | ☑ | ||
---|---|---|---|---|
0
JuixyJes
27.06.19
✎
23:50
|
Я представляю, как мне считать перевод из одной в другую системы счисления, но как мне написать это, не знаю, помогите пожалуйста, добрые люди
|
|||
1
palsergeich
27.06.19
✎
23:53
|
простой пример
4 в 2чной = 100 как из 100 получить 8 в 10чной: 2(2) * 1 + 2(1) * 0 + 2(0) * 0 5 в 2иичойй = 101 2(2)*1 + 2(1)* 0 + 2(0) * 1 в скобках - степень |
|||
2
lodger
27.06.19
✎
23:53
|
(0) берешь и пишешь, не?
покури что такое рекурсия, потом пример рекурсивной функции. потом дели на 2 пока в остатке не будет 0 или 1. то же самое наоборот. готово. |
|||
3
palsergeich
27.06.19
✎
23:54
|
каждый разряд числа - увеличивает степень системы счисления на 1
|
|||
4
palsergeich
27.06.19
✎
23:54
|
то же 111 в 10чной можно представить как
1*10(2) + 1*10(1) + 1*10(0) |
|||
5
palsergeich
27.06.19
✎
23:56
|
(1) как из 100 получить 4 в 10чной
Опечатался |
|||
6
JuixyJes
27.06.19
✎
23:56
|
Сообщить(b%2);
//Число = "" ; Пока ((b/2)>1) или ((b/2)>0) Цикл b = b/2; Сообщить(b%2); КонецЦикла; |
|||
7
JuixyJes
27.06.19
✎
23:57
|
Вот так
при числе 6 выдает 0101 а при таком расположении должно выдавать 011 |
|||
8
JuixyJes
27.06.19
✎
23:57
|
Просто я криворукая, а так почти так как надо работает
|
|||
9
palsergeich
27.06.19
✎
23:58
|
6 в двоичной это 110
|
|||
10
JuixyJes
27.06.19
✎
23:59
|
(9) Да, я знаю, но пока что так
|
|||
11
palsergeich
28.06.19
✎
00:00
|
(8) У тебя эшибка в том, что ты не переношишь разряд на уровень выше
|
|||
12
palsergeich
28.06.19
✎
00:00
|
0101 - на самом деле это 001 + 01, а не 0001 + 01
|
|||
13
palsergeich
28.06.19
✎
00:01
|
ща напишу
|
|||
14
JuixyJes
28.06.19
✎
00:02
|
Вы бы подсказали что то дельное, в 12 ночи мой мозг - каша
|
|||
15
JuixyJes
28.06.19
✎
00:02
|
(12) но задачку решить хочется, ведь интересно
|
|||
16
palsergeich
28.06.19
✎
00:02
|
(14) Ну так иди спать, а не перекладывай свои проблемы на меня, я сказал куда копать
|
|||
17
palsergeich
28.06.19
✎
00:03
|
Ошибка в непереносе разряда, отсутствует сдвиг
|
|||
18
palsergeich
28.06.19
✎
00:16
|
https://yadi.sk/d/4ddQJJ_cbWxoBQ
Решение в лоб |
|||
19
JuixyJes
28.06.19
✎
00:18
|
как перевернуть значение задом наперед?, тупой вопрос, но все же
|
|||
20
palsergeich
28.06.19
✎
00:19
|
(19) Глянь мою обработину
|
|||
21
palsergeich
28.06.19
✎
00:23
|
Конкретно твоя ошибка в том, то ты делаешь b = b/2, а надо b = (b-b%2)/2
|
|||
22
palsergeich
28.06.19
✎
00:24
|
(21) + подшаманить цикл
|
|||
23
Garykom
гуру
28.06.19
✎
00:25
|
Функции готовые же есть Книга знаний: Математические вычисления в 1С
|
|||
24
palsergeich
28.06.19
✎
00:26
|
(23) Фуфу быть таким.
Для мозга полезно вывести алгоритмическую задачу самому. |
|||
25
Garykom
гуру
28.06.19
✎
00:27
|
(24) Я просто отдыхаю от попыток С/С++ конвертация из char* UTF-8 в wchar_t* UTF-16LE
Уже ICU подключил осталось заставить работать |
|||
26
ДенисЧ
28.06.19
✎
05:11
|
А может того? Замуж? Детей нарожать... Штук пять...
|
|||
27
Сияющий в темноте
28.06.19
✎
08:51
|
Число это переменная в памяти.
когда мы читаем строку цифр и пишем в переменную,то мы умножаем результат на основание системы счисления и добавляем значение цифры и повторяем это слева направо для каждой цифры когда мы выводим число,то мы берем остаток от деления результата на основание системы и получаем цифру,а частное переносим в результат и так идем справа налево пока результат не станет равным нолю. |
|||
28
Garykom
гуру
28.06.19
✎
10:53
|
(26) До этого пока наука не дошла чтобы смог
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |