十進位制整數(如85)要轉換成二進位制我們最原始的方法呢就是短除法,但是當這個十進位制數比較大時短除法就有些麻煩了。其實可以這樣來計算:如85=64+16+4+1=2^6*1+2^4*1+2^2*1+2^0*1,二進位制最低位從第0位開始(以8位二進位制為例),式子中2的冪次對應第幾位第幾位就寫上1,其餘的位置寫上0,這樣85就可以寫成00101011b。同樣要將二進位制轉換為十進位制也可以這樣來計算,如00101011b=2^6*1+2^4*1+2^2*1+2^0*1。以八位二進位制為例我們只需要記住每一位二進位制的1所對應的十進位制數如圖所示
十進位制整數轉換為十六進製制,我們可以先將十進位制數轉換為二進位制數,再將二進位制數從最低為開始每四位分隔開不夠在前補0,如85=101011b可以寫成 0010 1011b,分隔開的每四位轉換為十進位制數(10~15分別寫a、b、c、d、e、f)如 85=(2 b)h,同樣十六進製制整數轉換為十進位制,可以先將十六進製制轉換為二進位制,十六進製制的每一位寫成四位二進位制數(不夠四位前面補0)如(2b)h=0010 1011b=2^6*1+2^4*1+2^2*1+2^0*1=85。
理解十進位制整數轉二進位制整數
演算法 第四版 中的習題 1.3.5 中有這樣一段 stacks new stack while n 0 for int d s system.out.print d system.out.println 其作用是列印十進位制整數 n 的二進位制表示。下面解釋該演算法背後的道理。為簡化問題,預設輸入...
整數的十進位制 二進位制 八進位制與十六進製制
coding utf 8 created on 2016年3月19日 author zroad 一 二進位制 八進位制 十六進製制表示整數常量 1.二進位制加字首 0b 2.八進位制加字首 0o 3.十六進製制加字首 0x i1 0b0001 i2 0b010010001 b1 0o001 b2 0...
1039 十進位制整數轉二進位制
給出乙個十進位制的非負整數x,x 216,把它轉換成二進位制數輸出。輸入為多行,每行乙個整數x,至讀入eof結束。每行輸出x對應的二進位制數值。01 3336553501 11100001 1111111111111111 本題有多種解法 可以用迴圈迭代對2的除法和取餘操作,不過處理的順序與輸出順序...