Имя: Пароль:
1C
1С v8
Перевод в 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
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) До этого пока наука не дошла чтобы смог