powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как это будет в с++?
4 сообщений из 4, страница 1 из 1
Как это будет в с++?
    #38380887
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как в с++ сделать такую же функцию?

Код: java
1.
2.
3.
4.
   public static int getBits(int packed, int start, int count)
    {
        return packed >>> (start + 1) - count & ~(-1 << count);
    }



так правильно?

Код: plaintext
1.
2.
3.
4.
int getBits(int packed, int start, int count)
{
	return static_cast<int>(static_cast<unsigned int>(packed) >> (start + 1) - count) & ~(-1 << count);
}
...
Рейтинг: 0 / 0
Как это будет в с++?
    #38380970
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На С++ форуме никто не ответил?
...
Рейтинг: 0 / 0
Как это будет в с++?
    #38381026
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что именно у вас не получается?

в плюсах, насколько помню, судьба старшего бита зависит от того signed или unsigned вы двигаете вправо.
в яве >>> вдвигает в старши бит 0

В любом случае если есть сомнения, такие функции есть возможность даже проверить на всем диапазоне, результат их работы высрать в консоль и сравнить diff-ом.
...
Рейтинг: 0 / 0
Как это будет в с++?
    #38381416
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhКак в с++ сделать такую же функцию?
Код: plaintext
1.
        return packed >>> (start + 1) - count & ~(-1 << count);

Только работой с модификатором unsigned.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как это будет в с++?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]