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,再將餘數按字條串排列起來...