二進位制表示法。。。。
這是也是基礎知識啦:
別急我們一點一點的講解。正整數轉二進位制,負整數轉二進位制,小數轉二進位制
正整數轉二進位制: 正整數轉成二進位制。要點一定一定要記住哈:除二取餘,然後倒序排列,高位補零。
21 /2 -------------------------------餘 1
10/2 -------------------------------餘 0
5/2 ------------------------------- 餘 1
2/2 --------------------------------餘 0
1/2 ---------------------------------餘 1
記住,到著排序 10101 ,驗證下轉成十進位制: 1×2的4次方+1×2的2次方+1×2的0次方=16+4+1=21。正確。
計算機一般是8 位 16位 32位 64 位的,所以不夠位高位補零。8位表示法:00010101
負整數轉二進位制:先是將對應的正整數轉換成二進位制後,對二進位製取反,然後對結果再加一。
取 -21 演示,看口訣,
21 的二進位制表示為: 10101
取反: 01010
加一 : 01011
小數轉換為二進位制的方法:對小數點以後的數乘以2,有乙個結果吧,取結果的整數部分(不是1就是0嘍),然後再用小數部分再乘以2,再取結果的整數部分……以此類推,直到小數部分為0或者位數已經夠了就ok了。
演示: 0.125 ×2=0.25 .......................0
0.25×2=0.5.............................0
0.5×2=1.0................................1
即 0.125的二進位制表示為小數部分為0.001
記住,乘到小數為0。排序:正序。
驗證: 0.001 0×2的0次方+0×2的-1次方+0×2的-2次方+0×2的-3次方=1/8=0.125.正確。
現在來說明0.1轉二進位制不能表示的原因啦:
0.1×2=0.2 .....................0
0.2×2=0.4 ......................0
0.4×2=0.8 .....................0
0.8×2=1.6.......................1
0.6×2=1.2.......................1
0.2×2=0.4.......................0
是無限迴圈的。所以。。。。***!
for(double i=0;i!=10;i+=0.1)
有可能是死迴圈。用浮點數迴圈需要注意啦。
二進位制轉換
e.g 二進位制轉換為八進位制 e.g 求10111001的八進位制 三位三位擷取,分解為 10 111 001 001 2的0次 1 111 2的0次 2的1次 2的2次 7 10 2的0次 2的1次 2 所以,八進位制為271 二進位制轉換為十六進製制 e.g 求10111001的十六進製制 四...
二進位制轉換
負整數小數 負小數十進位制 2的次冪 二進位制1 200001221 0010 321 20 0011422 0100 522 20 0101 622 21 0110 722 21 20 0111823 1000 比如 100轉成二進位制 1,轉成2的次冪 100 26 25 22 2,0000 0...
二進位制的轉換
學計算機的朋友剛開始學習時都要接觸進製之間的轉換,二進位制 十進位制 八進位制 十六進製制等,這個是很枯燥的,轉來轉去就轉矇圈了,別蒙別蒙,今天咱們乙個乙個搞定,看看二進位制和十進位制之間如何相互轉換的。這個演算法時間複雜度是o 1 沒想到吧!我想到的演算法是,將n一直除2直到n變為0,如果途 現餘...