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

時間 2021-07-01 01:20:25

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樓:

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

無符號二進位制110111轉化成十進位制數是過程

lz 110111 1 2 0 1 2 1 1 2 2 0 2 3 1 2 4 1 2 5 1 2 4 0 16 32 55 1 2 0表示 1乘於2的0次方 以下是一樣的,為什麼是2的0次方。2的1次方呢,這是因為你這個是2進位制轉10所以底數為2 如果是8轉10的話 底數就是8了.給你一個公式....

十進位制18轉化成二進位制是010010 是怎麼算的 求過程

天使在唱歌 十進位制整數轉換為二進位制整數採用 除2取餘,逆序排列 法。十進位制18轉化成二進位制,計算方法如下 18 2 9 餘數為0 9 2 4 餘數為1 4 2 2 餘數為0 2 2 1 餘數為0 1 2 0 餘數為1 所有餘數逆序排列為 10010 如果是在計算機領域,由於計算機內部表示數的...

十進位制625 25轉化成二進位制是多少?方法是什麼

假設我們要把十進位制156轉化成二進位制!第一步把156除於2,得到78,剛好整除,然後後面記錄0!依次除於2,能整除的記錄0,不能整除的記錄1這就是最後的結果,這個方法適合所有的轉化,是最常見的!可以自己多練習幾次,你就熟悉掌握了!二進位制怎樣轉換十進位制的方法你可看我其它經驗,謝謝支援哦。二進位...