Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Как пересчитать одно в другое? - C++

06.05.2013, 19:09. Просмотров 510. Ответов 7
Метки нет (Все метки)

Кликните здесь для просмотра всего текста
bg
00000000000
10000000001
20000000011
30000000111
40000000101
50000000100
60000001100
70000001101
80000001111
90000011111
100000011101
110000011100
120000010100
130000010101
140000010111
150000010011
160000010001
170000010000
180000110000
190000110001
200000110011
210000110111
220000110101
230000110100
240000111100
250000111101
260000111111
270001111111
280001111101
290001111100
300001110100
310001110101
320001110111
330001110011
340001110001
350001110000
360001010000
370001010001
380001010011
390001010111
400001010101
410001010100
420001011100
430001011101
440001011111
450001001111
460001001101
470001001100
480001000100
490001000101
500001000111
510001000011
520001000001
530001000000
540011000000
550011000001
560011000011
570011000111
580011000101
590011000100
600011001100
610011001101
620011001111
630011011111
640011011101
650011011100
660011010100
670011010101
680011010111
690011010011
700011010001
710011010000
720011110000
730011110001
740011110011
750011110111
760011110101
770011110100
780011111100
790011111101
800011111111
810111111111
820111111101
830111111100
840111110100
850111110101
860111110111
870111110011
880111110001
890111110000
900111010000
910111010001
920111010011
930111010111
940111010101
950111010100
960111011100
970111011101
980111011111
. Как пересчитать b в g и g в b?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2013, 19:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как пересчитать одно в другое? (C++):

Как умножить одно число на другое без умножения - C++
Умножьте одно число на другое, пользуясь только добавлением, удвоением и делением пополам.

Как проверить, делится ли одно число на другое нацело? - C++
Здравствуйте. Подскажите, пожалуйста, как проверить делится ли число на другое и получается целое число. Например, 20/20=1 - получается...

Заменить в тексте одно словосочетание на другое - C++
Здравствуйте,помогите пожалуйста сделать программу которая в любом (не имеет значения в каком тексте) будет меня например словосочетание...

Замена слова одно на другое с fgets - C++
Добрый день. Нужна помощь. Незнаю как доделать. Надо из zod в zod1 перенести все данные, потом там заменить а17 на troleibusas и записать...

Заменить в тексте одно слово на другое - C++
в текстовом файле содержащий код программы на языке С, заменить все вхождения одного заданного пользователем идентификатора на другой

Проверить, делиться ли нацело одно число на другое - C++
Помогите пожалуйста!! Пользователь ввел два числа n и m. Проверить, делиться ли нацело одно число на другое.

7
0x10
2465 / 1637 / 241
Регистрация: 24.11.2012
Сообщений: 4,040
06.05.2013, 19:12 #2
ForEveR, т.е. 3 в двоичной записывается как 111?)
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
06.05.2013, 19:14 #3
0x10, Ошибся я собственно.) Понял и удалил.
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.05.2013, 19:25  [ТС] #4
Код такой: сначала берётся троичный ограниченный код Грея, строящийся так: каждый раз меняем младшую цифру на 1, как только какая либо цифра доходит до 2, или до 0, на следующем шаге меняем вместо неё следующую по старшенству на 1, а ещё на следующем меняем направление изменения самой дошедшей до 0, или 2 цифры с увеличения на уменьшение, или наоборот, а как только получим старшую двойку и остальные ноли, то текущий код - последний, а потом троичные цифры кодируем тремя первыми двоичными двубитными кодами Грея, получаем двоично-троичный дважды ограниченный код Грея. Только в задаче надо не таблицу строить, а дано число во внутреннем представлении процессора, а надо без таблиц, но максимально быстро пересчитать в двоично-троичный дважды ограниченный код Грея, или дан двоично-троичный дважды ограниченный код Грея, а надо без таблиц и максимально быстро получить соответствующее число во внутреннем представлении процессора.

Добавлено через 30 секунд
Цитата Сообщение от 0x10 Посмотреть сообщение
т.е. 3 в двоичной записывается как 111?)
2=11, там смешанная двоично-троичная.

Добавлено через 2 минуты
Кликните здесь для просмотра всего текста
bg
00000000000
10000000001
20000000011
30000000111
40000000101
50000000100
60000001100
70000001101
80000001111
90000011111
100000011101
110000011100
120000010100
130000010101
140000010111
150000010011
160000010001
170000010000
180000110000
190000110001
200000110011
210000110111
220000110101
230000110100
240000111100
250000111101
260000111111
270001111111
280001111101
290001111100
300001110100
310001110101
320001110111
330001110011
340001110001
350001110000
360001010000
370001010001
380001010011
390001010111
400001010101
410001010100
420001011100
430001011101
440001011111
450001001111
460001001101
470001001100
480001000100
490001000101
500001000111
510001000011
520001000001
530001000000
540011000000
550011000001
560011000011
570011000111
580011000101
590011000100
600011001100
610011001101
620011001111
630011011111
640011011101
650011011100
660011010100
670011010101
680011010111
690011010011
700011010001
710011010000
720011110000
730011110001
740011110011
750011110111
760011110101
770011110100
780011111100
790011111101
800011111111
810111111111
820111111101
830111111100
840111110100
850111110101
860111110111
870111110011
880111110001
890111110000
900111010000
910111010001
920111010011
930111010111
940111010101
950111010100
960111011100
970111011101
980111011111


Добавлено через 34 секунды
Кликните здесь для просмотра всего текста
bg
990111001111
1000111001101
1010111001100
1020111000100
1030111000101
1040111000111
1050111000011
1060111000001
1070111000000
1080101000000
1090101000001
1100101000011
1110101000111
1120101000101
1130101000100
1140101001100
1150101001101
1160101001111
1170101011111
1180101011101
1190101011100
1200101010100
1210101010101
1220101010111
1230101010011
1240101010001
1250101010000
1260101110000
1270101110001
1280101110011
1290101110111
1300101110101
1310101110100
1320101111100
1330101111101
1340101111111
1350100111111
1360100111101
1370100111100
1380100110100
1390100110101
1400100110111
1410100110011
1420100110001
1430100110000
1440100010000
1450100010001
1460100010011
1470100010111
1480100010101
1490100010100
1500100011100
1510100011101
1520100011111
1530100001111
1540100001101
1550100001100
1560100000100
1570100000101
1580100000111
1590100000011
1600100000001
1610100000000
1621100000000
0
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,275
Записей в блоге: 2
Завершенные тесты: 1
06.05.2013, 20:08 #5
Цитата Сообщение от taras atavin Посмотреть сообщение
Код такой: сначала берётся троичный ограниченный код Грея, строящийся так: каждый раз меняем младшую цифру на 1, как только какая либо цифра доходит до 2, или до 0, на следующем шаге меняем вместо неё следующую по старшенству на 1, а ещё на следующем меняем направление изменения самой дошедшей до 0, или 2 цифры с увеличения на уменьшение, или наоборот, а как только получим старшую двойку и остальные ноли, то текущий код - последний, а потом троичные цифры кодируем тремя первыми двоичными двубитными кодами Грея, получаем двоично-троичный дважды ограниченный код Грея.
Как то сложно ты все описал, код Грея вроде строится так - берется число и делается операция "или" числа с числом, сдвинутым на 1 вправо. Например вот
3 это 011
Код
011
 011
----------
 111
т.е. число 011 в коде Грея выглядет как 111. Более подробно уже непомню.

Добавлено через 40 минут
не, я похоже вообще не про то написал.
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
08.05.2013, 07:36  [ТС] #6
Во-первых даже 3 в двоичном коде Грея - это 10. А во-вторых у меня смешаны два основания.

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

Добавлено через 7 минут
Кстати, даже вика предлагает двигать и ксорить код Грея для расшифровки в прямой двоичный, а не наоборот.

Добавлено через 15 минут
Даже замена ксорки на сумму по модулю 3 не помогает: в трёх знаках без ограничения получается 000
001
002
011
012
010
022
020
021
110
111
112
121
122
120
102
100
101
220
221
222
201
202
200
212
210
211, а надо 000
001
002
012
011
010
020
021
022
122
121
120
110
111
112
102
101
100
200
201
202
212
211
210
220
221
222.
0
zss
Модератор
Эксперт С++
6404 / 5970 / 1945
Регистрация: 18.12.2011
Сообщений: 15,395
Завершенные тесты: 1
08.05.2013, 08:55 #7
А не проще ли сделать это через Lookup table:
завести массив того, что заменяем.
Преобразование будет заключаться в поиске нужного элемента.
Его номер и будет результатом преобразования.
Обратно еще проще - берем значение элемента по указанному номеру.
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
08.05.2013, 13:45  [ТС] #8
Не проще.

Добавлено через 1 минуту
Цитата Сообщение от zss Посмотреть сообщение
Преобразование будет заключаться в поиске нужного элемента.
Вот именно. К тому же датчику экранный компонент врядли вообще доступен.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2013, 13:45
Привет! Вот еще темы с ответами:

Можно ли нацело разделить одно число на другое - C++
Помогите написать программу. Число х вводится в двоичном виде, максимальная длина числа 64 разряды, затем вводится число в. Определить...

при вычислении выражении - одно значение,а в калькуляторе другое! - C++
есть,самое простое выражение: 21/5*3 но на калькуляторе будет - 21/5=4.2(логично?) и умноженное 4.2*3=12.6(и не поспоришь!) так вот -...

Можно ли из букв, входящих в одно слово, составить другое - C++
Даны два слова. Составить программу проверки, можно ли из букв, входящих в одно слово, составить другое (каждая буква используется только...

Заменить в строке одно слово на другое, заданное с клавиатуры. - C++
Условие задачи: Заменить в строке одно слово на другое, заданное с клавиатуры. Текст программы: #include<conio.h> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
08.05.2013, 13:45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru