在matlab中为什么二进制表示法中的第一个数字被丢弃?

时间:2014-10-15 13:30:23

标签: matlab

当我尝试在第1位位置显示以零开头的二进制表示法时,matlab会丢弃零并仅显示其他7位。我如何显示第一个位置? 例如:当我尝试显示" 01101111"时,matlab将其显示为" 1101111",但我也需要第1位位置值。请有人帮忙。

1 个答案:

答案 0 :(得分:5)

在Matlab中,显示数字的位表示,您需要将其转换为dec2bin()的字符串。

所以,如果你有x = 111,它的二进制表示是:

dec2bin(111)
ans =
1101111

仅保留重要位。要强制使用8位表示,请使用:

dec2bin(111,8)
ans =
01101111

注意,结果将是字符串。如果要以数字格式检索位,请使用bitget()

bitget(111,8:-1:1)
ans =
  0     1     1     0     1     1     1     1

基本上,如果您的需求纯粹是视觉效果,请使用dec2bin2()来操作位,使用接受并返回数字类型的bit-wise operations functions