Получите бит в заданном положении
Найдите различие в двоичном представлении между максимальным целым числом знаков и беззнаковыми целыми числами.
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
, возвращенный как массив 0
s и 1
с. b
- тот совпадающий тип данных, что и A
.
Если A
и bit
скаляры, тогда b
также является скаляром.
Если либо A
или bit
является массивом, тогда b
- тот же размер, что и этот массив.
Указания и ограничения по применению:
Оба входа могут быть массивами беззнаковых целых чисел, или один вход может быть массив беззнаковых целых чисел, а другой вход может быть скаляром двойным.
64-битные целые числа не поддерживаются.
The assumedtype
аргумент не поддерживается.
Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.