關於十進位制小數轉換為二進位制數,下面是我的詳細操作說明,僅供參考。
首先,最高位是符號位,正數是0,負數是1;小數部分乘以2,然後取整數部分,,剩餘小數部分繼續乘以2,取整數部分,……直到小數部分為0。
以+0.125為例:
+數,最高位為0;
小數部分0.125x2=0.25,取0;
再取小數部分0.25x2=0.5,取0;
再取小數部分0.5x2=1.0,取1;
這時小數部分是0,結束。然後取得數從前往後順著數,為001。則+0.125的二進位制數為:0001。
同理,-0.125的二進位制為1001。只是符號位變了,小數計算方式一樣。
需要注意的是,有的十進位制小數轉換為二進位制是無限的,不是你算錯了,不要糾結。
以0.65為例:
0.65x2=1.3,取1;
0.3x2=0.6,取0;
0.6x2=1.2,取1;
0.2x2=0.4,取0;
0.4x2=0.8,取0;
0.8x2=1.6,取1;
0.6x2=1.2,取1;
……此時已經陷入了迴圈,不必再計算,0.65的二進位制就是01010011……,有的計算中並不要求有符號位,可省略,為1010011……
就是既有整數,又有小數的數。此時計算方法就是分開算:整數部分按平時的轉換方法,即除2取餘法,小數部分按純小數的方法計算,然後放在一起就好。符號位仍然是在最高位。
以+3.25為例:
+數,為0;
3轉換為二進位制為:11;
0.25用純小數的方法計算,為01;
則+3.25的二進位制數為011.01。
同理,-3.25的二進位制為111.01。
如果沒有要求帶符號位,則可省去不寫。
十進位制 轉換為 二進位制
聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...
c 將十進位制轉換為二進位制 小數 二進位制的轉換
二進位制是在計算機中常用的一種進製數,其資料用0和1兩個數碼來表示資料。我們人類常用的是十進位制,那麼二進位制和十進位制之間是有乙個轉換方法的。二進位制轉換十進位制 乙個二進位制數轉換為十進位制數,是比較簡單的,其方法就是用每乙個位置上的數字乘以該位置的權重,然後相加得到。舉個例子,二進位制的101...
(string)十進位制 轉換為 二進位制
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。輸入描述 多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 輸出描述 每行輸出對應的二進位制數。輸入 013 8輸出 0111 1000 下面是王道上的解法,模擬的是...