如何把二進位制變數轉化成陣列,如,如何把一個二進位制變數轉化成陣列,如101010101 1 0 1 0 10 1 01

2021-07-01 01:20:34 字數 1683 閱讀 7217

1樓:匿名使用者

re:"如何把一個二進位制變數轉化成陣列,如101010101——[1 0 1 0 10 1 01]"

這個可以用位操作 & 和 移位操作 >> 解決。

如:((101010101 & 0x0001)>>0) 取得第0位(順序按彙編的從右至左)

((101010101 & 0x0002)>>1) 取得第1位 ……以此類推

移位是為了將該位如果是0就存為整型變數0 1 即 整型1

int a = ((101010101 & 0x0002)>>1); // a == 0

a = ((101010101 & 0x0002)>>2); // a == 1

……就這樣

re:"求餘和除有啥區別‘/’"%""

/ 是 向下取整 沒有 四捨五入(要向上取整的話 加個0.5就好了 同四捨五入)

如:7 / 3 == 2 結果為2(存為整型變數) 如果7/3.0 = 2.3333...(存於浮點變數)

% 即 求餘數

如上面的 7 % 3 == 1 (7 / 3 = 2 ... 1)

2樓:清風海鳥

我解釋第二個問題,”%“求餘代表的是餘數,如:10%3=1;因為10除以3等於3餘數為1。

“/”代表除,10除以3為什麼不是3.3333。。。。呢?

這是因為資料型別,如果你寫 double j=10/3,結果就是3.33333。。。,而int型別 10/3 就等於3了。

matlab怎麼把陣列1 0 1 1 0 1 1 0 0 1變成陣列10 11 01 10 01

3樓:兔子和小強

將一行二進位制陣列(假設是a)變成8位8位的,然後再變成十進位制數可以這麼做:

bin2dec(num2str(reshape(a, 8, )'))

解釋版:權

reshape(a, 8, )            將a重排成8*k的矩陣,此時每8位在一列

reshape(a, 8, )'           轉置,使得每8位在一行

num2str(reshape(a, 8, )')  轉換為字元矩陣

bin2dec(num2str(reshape(a, 8, )'))  呼叫bin2dec將二進位制轉換為十進位制

如果你們老師不讓直接用bin2dec函式的話,可以這麼寫:

2.^(7:-1:0) * reshape(a, 8, )

在labview中,我要將一個二進位制位元組的“陣列”比如(11010011)轉化為十進位制數,應該怎麼轉換那?

4樓:匿名使用者

你可bai以使用“布

爾陣列du至數值轉換”

1)首zhi先將上述的二進位制數dao組(11010011)通過for迴圈,判斷專每個元屬素是否等於1,如果等於,輸出布林值t,否則輸出布林值f,這樣得到一個 布林陣列;

2)使用“布林陣列至數值轉換”將剛才得到的布林陣列轉換成數值就可以了。

“布林陣列至數值轉換”具體位置: 程式設計——布林——布林陣列至數值轉換。

5樓:匿名使用者

2^7+2^6+0+2^4+0+02^1+2^0

6樓:

參***: 信任就是有一天你拿著槍指著我,最後槍響了,我也相信那是槍走火。

二進位制數1101101如何轉化成十進位制數

若是搞清楚進製 的原理,就容易了.幾進製,就是逢幾,進一.二進位制內,逢二進一,所以,只有0 1,大於容等於2,就進製了.以十進位制的位數說法,來說明,個位數,就是沒有大於2的部分,0 1十位數,就是有幾個2 2 百位數,就是有幾個 幾個2 2 2 千位數 就是有幾個 幾個 幾個2 2 2 2 11...

0 08轉化成二進位制是多少,十進位制的 0 55 轉換為二進位制是多少?

決定二進位制數小數部分的位數為16位,那麼需要乘以65536 2 16 進行整數化。0.08 10 2 16 10 0.08 10 65536 10 5242.88 10 取整數部分,5242 10 147a 16 0001 0100 0111 1010 2因為最初乘了65536,即2的16次方,所...

C語言問題輸入數,轉化成二進位制輸出,用函式解決

include void dectobin int k int main void return 0 輸入乙個c語言程式,能把乙個十進位制的數轉換成二進位制的數。用子函式主函式來編寫,跪求大神 10 原理 和十進位制的數除以2,將商暫存起來,餘數按字串排列起來。再用商除以2,再將餘數按字條串排列起來...