十六进制和二进制数字前沿的新闻
我相信你们以前都听过这个笑话:
世界上有十种人懂二进制的和不懂二进制的
顺便说一下,笑话第一行第三个符号的正确读音是“two”,而不是“ten”。十六进制“等效”有点粗鲁,所以我不会把它贴在这里。
现在不是开玩笑了。现在,我们开始认真地帮助您读取或指定十六进制和二进制值,并覆盖更广泛的范围(即负十六进制(!))。让我再多告诉你一点。
内容
输入十六进制和二进制值
我自己不怎么使用十六进制和二进制数据,但有很多人这样做。我们最近对如何帮助您处理此类数据进行了一些更新。看在这里详情如下。
我们一直都能这样做:
A = 0.25 B = 3 C = 1/pi
A = 0.2500 b = 3 c = 0.3183
这些都是MATLAB中的双精度值。
B可以用整数形式表示。要在MATLAB中这样做,你可以转换,或者你可以从其他文件格式读入值,并指定整数类型来读入一些位。
Buint8 = uint8(B)
Buint8 = uint8 3
现在,直接在MATLAB中输入十六进制或二进制值非常容易。
D = 0X11 E = 0xF3f F = 0b10001 .使用实例
D = uint8 17 E = uint16 3903 F = uint8 17
也可以使用带符号的类型。
G = 0x2As32
G = int32 42
然后你也可以表示负数。
H = 0xFFs8
H = int8 -1
这些在二补体形式.
由于MATLAB将这些文字存储为数字,因此可以在任何可以使用传统数字数组的地方使用这些数组。
将值表示为文本
使用dec2hex而且dec2bin将值转换为等效的十六进制或二进制文本。它们存储在字符数组中,现在可以处理负值。
Dec2hex (-17) dec2bin(-17)
ans = '11' ans = '10001' ans = 'EF' ans = '11101111'
这些先前的值可能适合用于注释。但是将值转换为十六进制或二进制文本的最佳方法是使用组成,你会得到字符串输出。
组成(“X %”, D, E, F, G, H))
ans = 1×5字符串数组“11”“FF”“11”“2A”“0”
您还可以在读取函数中使用格式说明符来读取以字面量表示的数据,无论是十六进制还是二进制。
二进制值的位操作
你可能会遇到这样的情况,你想一点一点地对二进制数进行运算。这在与硬件交互的某些方面通常是正确的(我不是这方面的专家!)这些函数包括
评论
如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。