罗兰关于MATLAB的艺术

将想法转化为MATLAB

十六进制和二进制数字前沿的新闻

我相信你们都听过这个笑话:

世界上有十种人,懂二进制的和不懂二进制的

顺便说一下,这个笑话第一行第三个符号的正确发音是“二”,而不是“十”。十六进制“等价物”有点粗鲁,所以我就不在这里贴了。

好吧,现在没有开玩笑。我们认真帮助您读取或指定现在的十六进制和二进制值,并覆盖更广泛的范围(即,负十六进制(!)。让我告诉你更多。

内容

输入十六进制和二进制值

我自己并不经常使用十六进制和二进制数据,但有很多人会这样做。我们最近对如何帮助您处理这些数据做了一些更新。看这里的细节。

我们一直可以这样做:

a = 0.25 b = 3 c = 1 / pi
a = 0.2500 b = 3 c = 0.3183

这些都是MATLAB中的双值。

B可以用一个整数表单表示。要在MATLAB中执行此操作,您可以转换,或者您可能已从某些其他文件格式中的值读取,并指定了在某些位中读取的整数类型。

Buint8 = uint8 (B)
3 .你的电话号码是多少

现在,直接在MATLAB中输入十六进制或二进制值是非常容易的。

d = 0x11 e = 0xf3f f = 0b10001
D = uint8 17 E = uint16 3903 F = uint8 17

签名类型也可用。

G = 0 x2as32
g = int32 42

然后你也可以代表负数。

H = 0 xffs8
H = INT8 -1

这些是表示的2的补码形式

因为MATLAB将这些文字存储为数字,所以您可以在任何可以使用传统数字数组的地方使用这些数组。

将值表示文本

使用Dec2Hex.dec2bin将值转换为等效的十六进制或二进制文本。这些存储在字符阵列中,现在可以处理负值。

Dec2hex (17) dec2bin(17) Dec2hex (-17) dec2bin(-17)
ans ='11'ans ='10001'ans ='ef'ans ='11101111'

前面的那些值可能适合注释。但将值转换为十六进制或二进制文本的最佳方法是使用组成,你得到的地方细绳输出。

组成(“X %”,[d,e,f,g,h])
ans = 1×5 string array "11" "FF" "11" "2A" "0"

您还可以使用格式说明符在阅读功能中读取,以便在文字中表示的数据,十六进制或二进制文件。

二进制值的按位运算

您可能需要对二进制数进行逐位运算。在与硬件交互的某些方面通常是这样的(我不是这方面的专家!)这些包括如下函数

概括

这里有更多关于按位操作.这会让你的生活更轻松吗?让我们知道这里




发布与MATLAB®R2020A

|

评论

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。