一、 二進位制與十進位制之間的轉換
1、二進位制轉十進位制(不分整數和小數從最後一位算起,每一位上的數乘以2的幾次方,這個次數由這個數字所在的位置決定,從零位開始,然後相加)
例:01101011.001轉十進位制1乘2的-3次方=0.125
0乘2的-2次方=0
0乘2的-1次方=0
1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然後:1+2+0+8+0+32+64+0=107.125
01101011=107
2、十進位制轉二進位制
整數:除2取餘法是乙個連續除2的過程,直到商出現0時位置,餘數反向排列;
例:整數23轉二進位制:23除2商11餘1
11除2商5餘1
5除2商2餘1
2除2商1餘0
1除2商0餘1
然後把餘數反向排列:23=10111
小數:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分 為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,捨掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數。
例:0.125轉二進位制
0.125乘以2,得0.25,則整數部分為0,小數部分為0.25;
0.25乘以2,得0.5,則整數部分為0,小數部分為0.5;
0.5乘以2,得1.0,則整數部分為1,小數部分為0.0;
從第一位讀起,讀到最後一位,即為0.001。
23.125 轉二進位制10111.001
二、二進位制與八進位制之間的轉換(基礎還是二進位制和十進位制之間的轉換)
取三合一法,即從二進位制的小數點為分界點,向左(向右)每三位取成一位,接著將這三位二進位制按權相加,得到的數就是一位八位二進位制數,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的八進位制數。如果向左(向右)取三位後,取到最高(最低)位時候,如果無法湊足三位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足三位)這裡的最高位,最低位和十進位制的一樣,前面的是最高位,後面的是最低位。
三位二進位制表示一位八進位制, 因為三位二進位制數最大(111)的十進位制數也就是7,所以就保證每位數都是0-7之間的數
1、二進位制轉八進位制
例:1100100轉為八進位制
1100100拆分成:001 100 1000*2^2+0*2^1+1*2^0=1
1*2^2+0*2^1+0*2^0=4
1*2^2+0*2^1+0*2^0=4
依次讀下來就是:144
1100100=144
2、八進位制轉二進位制
八進位制數與二進位制數對應關係如下:0=000
1=001
2=010
3=011
4=100
5=101
6=110
7=111
例:將八進位制數653524轉換為二進位制
110 101 011 101 010 100
三、二進位制與十六進製制之間的轉換(基礎還是二進位制和十進位制之間的轉換)
四位二進位制表示一位十六進製制, 因為四位二進位制數最大(1111)也就是十進位制的表示法15即十六進製制的表示法f,所以就保證每位數都是0-f之間的數。
1、二進位制轉十六進製制
例:1100100 拆分 0110 0100
0110=6
0100=4
1100100=64
2、十六進製制轉二進位制
十六進製制數與二進位制數之間的對應關係:1-0001
2-0010
3-0011
4-0100
5-0101
6-0110
7-0111
8-1000
9-1001
a-1010
b-1011
c-1100
d-1101
e-1110
f-1111
四、十進位制與十六進製制之間的轉換
其演算法和二進位制和十進位制之間的演算法一樣只是,由2變成了16
1、十進位制轉十六進製制
例:十進位制數123 轉成十六進製制
123除16商7餘b
7除16商0餘7
結果就是7b
2、十六進製制轉十進位制
例:十六進數 2af5第0位:5 * 16^0=5
第1位:f * 16^1=240
第2位:a * 16^2=2560
第3位:2 * 16^3=81925*16^0+f*16^1+a*16^2+2*16^3=10997
2af5=10997
10進製轉2進製
題目 將10進製數字轉換為2進製。思考 進製轉換有三種情況。十進位制轉二,八,十六進製制 三種轉化的方法類似,我重點說十進位制轉二進位制的方法,其餘兩種情況可以模擬。十進位制轉二進位制 方法 10進製數字,整數部分除2後每次餘數反向取 小數部分乘2直到小數部分為0 特殊情況取位數 將整數部分正向取。...
10進製轉16進製制或32進製 實休類和xml互轉
1 資料庫都是存十進位制,每次計算也是十進位制進行計算。展示的時候把十進位制轉成16進製制和32進製 warchjingzhi warch.tostring x public static string inttoi32 int xx return a public static dictionar...
10進製轉2進製和16進製制
看到論壇說面試遇到,就嘗試寫 public class test public static string tobinary int n return temp.reverse tostring 10進製轉16進製制 將給定的十進位制整數除以基數16,餘數便是等值的16進製制的最低位。將上一步的商再...