Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 62

Выделить из числа часть

09.09.2016, 19:25. Показов 1268. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеем вводимую пользователем k. Имеем 4k разрядное число. Нужно выделить из него 2k цифр(которые в середине) и соответственно получить новое число. Например k=2, у нас есть число 12345678. Из него нужно выделить 3456 как отдельную переменную.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.09.2016, 19:25
Ответы с готовыми решениями:

Из string выделить часть строки
В string записаны название города и область. Как из нее взять только название города (до первых символов " (") А сама...

Не могу выделить часть квадратной матрицы
Помогите выделить часть квадратной матрицы не могу понять как её выделить зеленую часть

Выделить часть массива в соответствии с условиями
Дано натуральное число n и целые числа a1,...an. Если в данной последовательности ни одно положительное число не расположено после...

11
14 / 16 / 7
Регистрация: 21.05.2016
Сообщений: 48
09.09.2016, 19:36
Ты хочешь чтобы за тебя сделали или готов сам подключится к работе?
1
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 62
09.09.2016, 19:38  [ТС]
xi:=((xi*xi) shr 7) and $3FFF; {28 бит - квадрат, 14 бит - число} // тут k=14
рабочий код на паскале, пытаюсь на ++ переписать и добавить k
0
14 / 16 / 7
Регистрация: 21.05.2016
Сообщений: 48
09.09.2016, 19:43
Что такое

xi:=((xi*xi) shr 7) and $3FFF

и как оно относится к первому твоему посту?
0
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 62
09.09.2016, 20:10  [ТС]
xi это число разрядности 14 бит из которого путём возведения в квадрат сделали 28 битное число из которого потом выделили 14 средних цифр. Это точная реализация того что мне надо, только на паскале и без возможности редактирования разрядности чисел.
0
14 / 16 / 7
Регистрация: 21.05.2016
Сообщений: 48
09.09.2016, 20:23
Что-то туговато понимаю твоё задание...

1) Если у тебя число задано в двоичной форме, тогда можно использовать вектор:

A[14]={1,0,0,1,1,0,0... ... 1,0,1};

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

3) Ты пишешь: "... только на паскале...". Так на паскале или С++?

4) А что такое тогда это:

"число 12345678. Из него нужно выделить 3456 как отдельную переменную"? Это запись в десятичной форме.
0
1615 / 1181 / 552
Регистрация: 08.01.2012
Сообщений: 4,558
09.09.2016, 20:35
Цитата Сообщение от Tandemic Посмотреть сообщение
из которого путём возведения в квадрат сделали 28 битное число
вовсе не обязательно
C++
1
2
3
4
5
6
    int xi=0x2ABC;
    int k=14;
    int mask=0;
    for(int i=0; i<k; i++) mask=mask*2+1;
    cout<<hex<<mask<<endl;//проверка
    cout<<(((xi*xi)>>(k/2))&mask)<<endl;
0
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 62
09.09.2016, 20:49  [ТС]
Подставил xi=1234, в этом случае k=2, получил в ответе 2, хотя должен был 2275. Скорее всего я как то не правильно воспользовался вашей конструкцией.
0
1615 / 1181 / 552
Регистрация: 08.01.2012
Сообщений: 4,558
09.09.2016, 20:56
Цитата Сообщение от Tandemic Посмотреть сообщение
xi=1234, в этом случае k=2
это с чего???
C++
1
2
3
4
5
6
7
8
    int xi=1234;
    int k=0;
    for(int x=xi; x; x>>=1) k++;
    cout<<k<<endl;
    int mask=0;
    for(int i=0; i<k; i++) mask=mask*2+1;
    cout<<hex<<mask<<endl;//проверка
    cout<<dec<<(((xi*xi)>>(k/2))&mask)<<endl;
0
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 62
09.09.2016, 21:00  [ТС]
k это количество разрядов числа xi делённое на 2
0
1615 / 1181 / 552
Регистрация: 08.01.2012
Сообщений: 4,558
09.09.2016, 21:05
Цитата Сообщение от Tandemic Посмотреть сообщение
k это количество разрядов числа делённое на 2
Цитата Сообщение от Tandemic Посмотреть сообщение
xi:=((xi*xi) shr 7) and $3FFF; {28 бит - квадрат, 14 бит - число} // тут k=14
такой дуализм в психиатрии плохо называется
0
14 / 16 / 7
Регистрация: 21.05.2016
Сообщений: 48
09.09.2016, 21:37
Правильно ли я понял:

ВВОД:
xi=1234, k=2

РАСЧЕТ:
xi*xi=1234*1234=1522756 (это число не симметричное, кол-во разрядов равно 7-мь)
Из середины (непонятно что такое середина для не симметричного числа) которого выделяем - 2275.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2016, 21:37
Помогаю со студенческими работами здесь

Разделить дробное число на 2 части: целая часть числа и его дробная часть
Пользователь вводит с клавиатуры сумму в валюте (дробное число). Вывести по отдельности количество Рублей и количество копеек (например,...

Найти сумму дробей и выделить целую часть
Даны натуральные числа a,b,c,d.Найти сумму a/b+c/d в виде правильной несократимой дроби с выделенной целой частью. Пример: ...

Выделить логическую часть программы в отдельную функцию
Уважаемые эксперты. Есть вот такая программа #include &lt;iostream&gt;//для оператора cout #include &lt;string&gt; //для использования...

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

Как в С++ выделить дробную часть, разбив число на 2 части
К примеру есть число double = 321,826. Как правильно разбить это число, чтобы на выходе было 2 переменные: int = 321; int = 826;? Как...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru