matlab中bitshift 将位移动指定位数
来源:https://ww2.mathworks.cn/help/matlab/ref/bitshift.html?searchHighlight=bitshift&s_tid=doc_srchtitle
itshift
将位移动指定位数
说明
假定 intout = bitshift(A,k,assumedtype)A 的类型为 assumedtype。
示例
偏移的 8 位整数
反复将无符号的 8 位值的位左移,直到所有非零位溢出为止。
a = intmax('uint8');
s1 = 'Initial uint8 value %5d is %08s in binary\n';
s2 = 'Shifted uint8 value %5d is %08s in binary\n';
fprintf(s1,a,dec2bin(a))
Initial uint8 value 255 is 11111111 in binary
for i = 1:8
a = bitshift(a,1);
fprintf(s2,a,dec2bin(a))
end
Shifted uint8 value 254 is 11111110 in binary
Shifted uint8 value 252 is 11111100 in binary
Shifted uint8 value 248 is 11111000 in binary
Shifted uint8 value 240 is 11110000 in binary
Shifted uint8 value 224 is 11100000 in binary
Shifted uint8 value 192 is 11000000 in binary
Shifted uint8 value 128 is 10000000 in binary
Shifted uint8 value 0 is 00000000 in binary
不同整数类型的不同结果
使用不同的假定整数类型为数字求偏移量。
uintout = bitshift(6,5:7,'uint8') %% 5:7 = 5 6 7 矩阵
uintout = 1×3 192 128 0
intout = bitshift(6,5:7,'int8')
intout = 1×3 -64 -128 0
输入参数
A - 输入值
数组
输入值,指定为数组。A 可以是标量或与 k 大小相同的数组。
如果
A为双精度数组,并且未指定assumedtype,则 MATLAB 会将A视为无符号的 64 位整数。如果已指定
assumedtype,A中的所有元素必须是assumedtype类型范围内的整数值。
数据类型: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
k - 交换位数
整数 | 整数数组
交换的位数,指定为整数或整数数组。k 可以是标量或与 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必须指定相同的整数类型。如果
A是双精度数组,则assumedtype可以指定任何有效的整数类型。
数据类型: char | string
输出参数
intout - 移位后的值
数组
移位后的值,以数组形式返回。intout 的数据类型与 A 相同。
如果
A和k是标量,则intout也是标量。如果
A或k为数组,则intout的大小与该数组相同。
扩展功能
C/C++ 代码生成
使用 MATLAB Coder 生成 C 代码和 C++ 代码。
GPU 数组
通过使用 Parallel Computing Toolbox 在图形处理单元 (GPU) 上运行来加快代码执行。
用法说明和限制:
至少有一个输入(
A或k)必须是整数数组。输入
A不能是有符号整数数组。不支持 64 位整数。
不支持
assumedtype参数。
有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
在 R2006a 之前推出
matlab中bitshift 将位移动指定位数的更多相关文章
- matlab中for 用来重复指定次数的 for 循环
参考:https://ww2.mathworks.cn/help/matlab/ref/for.html?searchHighlight=for&s_tid=doc_srchtitle for ...
- JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数.
怎么使float保留两位小数或多位小数 http://meryvn.blog.163.com/blog/static/36962664201173010402629/ 两种方法: import j ...
- JAVA中生成指定位数随机数的方法总结
JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 public static String getRandom1(int len) { int rs = ( ...
- matlab中fseek 移至文件中的指定位置
文章来源:https://ww2.mathworks.cn/help/matlab/ref/fseek.html?searchHighlight=fseek&s_tid=doc_srchtit ...
- 64位matlab中libsvm的安装
因为windows版的matlab对编译器的识别不好.所以直接在网上下了已经编译好的libsvm文件放入toolbox文件夹就可以用libsvm了 libsvm已编译好的文件下载地址: 猛戳我下载 1 ...
- Matlab中的一些小技巧
(转于它处,仅供参考) 1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. ...
- MATLAB中的函数的归总
字符串操作函数 1. 函数eval可以用来执行用字符串表示的表达式 2. 函数deblank可以去掉字符串末尾的所有空格 3. 函数findstr可以用来在长 ...
- matlab中imread 从图形文件读取图像
来源:https://ww2.mathworks.cn/help/matlab/ref/imread.html?searchHighlight=imread&s_tid=doc_srchtit ...
- matlab中upper 将字符串转换为大写
参考:https://ww2.mathworks.cn/help/matlab/ref/fprintf.html?searchHighlight=fprintf&s_tid=doc_srcht ...
随机推荐
- Labview学习之路(十一)日常编程技巧
此文章用于记录自己在学习Labview过程中所用到的编程技巧,会一直更新下去. (一)移动控件 直接鼠标拖动. 按住shift键,鼠标移动,可以水平和竖直移动(取决于鼠标最开始的移动方向). 使用键盘 ...
- MySQL 日期时间类型怎么选?千万不要乱用!
构建数据库写程序避免不了使用日期和时间,对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 以及使用 int 来存储 unix timestamp. 不仅新手,包 ...
- Java8的日期时间处理
代码: package com.ufo.java8datetime; import java.time.Clock; import java.time.LocalDate; import java.t ...
- Linux下mysql安装记录
1.MySQL下载路径:https://dev.mysql.com/downloads/ Linux下的安装步骤:http://www.runoob.com/linux/mysql-install-s ...
- java集合类源码学习二
我们查看Collection接口的hierarchy时候,可以看到AbstractCollection<E>这样一个抽象类,它实现了Collection接口的部分方法,Collection ...
- CSAPP =2= 信息的表示和处理
思维导图 预计阅读时间:30min 阅读书籍 <深入理解计算机系统 第五版> 参考视频 [精校中英字幕]2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频 参考文章 ...
- Dubbo系列之 (七)链路层那些事(1)
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订 ...
- Docker学习笔记,从原理到实践
什么是docker Docker是使用go语言基于LINUX内核的cgroup,namespace以及AUFS 类的 Union FS 等技术,对进程进行封装隔离的一种操作系统层面的虚拟化技术,由于隔 ...
- 数据库:浅谈DML、DDL、DCL的区别
简介 SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言.它功能强,效率高,简单易学易维护(迄今为止,我还没见过比它还好学的语言).然而SQL语言由于以上优点,同时也出现了这样一个问题:它是 ...
- php处理的图片无法进CDN缓存
今天发现线上有个问题,线上一个图片域名,在前端已经加了CDN缓存,不落缓存,则用PHP动态实现图片缩放,但经PHP处理过的图片输出后,每次都要从后端读取,后端服务器压力瞬间增加,经分析,PHP中没有作 ...