Получить бит в указанном положении
Найдите разницу в двоичном представлении между максимальным целым числом подписанных и неподписанных целых чисел.
a1 = intmax('int8'); a2 = intmax('uint8'); b1 = bitget(a1,8:-1:1)
b1 = 1x8 int8 row vector
0 1 1 1 1 1 1 1
b2 = bitget(a2,8:-1:1)
b2 = 1x8 uint8 row vector
1 1 1 1 1 1 1 1
Подписанные целые числа требуют бита для размещения отрицательных целых чисел.
Найдите 8-разрядное представление отрицательного числа.
A = -29;
b = bitget(A,8:-1:1,'int8')b = 1×8
1 1 1 0 0 0 1 1
A - Входные значенияВходные значения, заданные как массив. A может быть скаляром или массивом того же размера, что и bit.
Если A является двойным массивом, и assumedtype не указан, то MATLAB ® обрабатываетA как беззнаковое 64-битное целое число.
Если assumedtype указывается, то все элементы в A должны иметь целочисленные значения в диапазоне assumedtype.
Типы данных: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
bit - Положение разрядаПозиция бита, заданная как целочисленный или целочисленный массив. bit может быть скаляром или массивом того же размера, что и A. bit должно быть между 1 (младшим разрядом) и числом битов в целочисленном классе A.
Типы данных: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
assumedtype - Предполагаемый тип данных A'uint64' | 'uint32' | 'uint16' | 'uint8' | 'int64' | 'int32' | 'int16' | 'int8'Предполагаемый тип данных A, указано как 'uint64', 'uint32', 'uint16', 'uint8', 'int64', 'int32', 'int16', или 'int8'.
Если A является двойным массивом, то assumedtype может указать любой допустимый тип целого числа, но по умолчанию 'uint64'.
Если A является массивом целочисленного типа, то assumedtype необходимо указать тот же самый тип целого числа.
Типы данных: char | string
b - Битовое значение при bitБитовое значение при bit, возвращается в виде массива 0s и 1s. b является тем же типом данных, что и A.
Если A и bit являются скалярами, то b также является скаляром.
Если либо A или bit является массивом, то b имеет тот же размер, что и этот массив.
Примечания и ограничения по использованию:
Оба входа могут быть целочисленными массивами без знака, или один вход может быть целочисленным массивом без знака, а другой вход может быть скалярным двойным.
64-разрядные целые числа не поддерживаются.
assumedtype аргумент не поддерживается.
Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.