二進位制轉十進位制演算法,二進位制轉十進位制演算法 01100000 00101100 01011000 11001010要具體演算法過程 文字解釋不給

2021-12-25 22:58:54 字數 1210 閱讀 4174

1樓:匿名使用者

從左往右算,左邊一位乘以2加上後一位,依次算下去

2樓:匿名使用者

01100000 = 0*2^0+0*2^1+0*2^2+0*2^3+0*2^4+1*2^5+1*2^6+0*2^7 = 96

00101100 = 0*2^0+0*2^1+1*2^2+1*2^3+0*2^4+1*2^5+0*2^6+0*2^7 = 44

01011000 = 0*2^0+0*2^1+0*2^2+1*2^3+1*2^4+0*2^5+1*2^6+0*2^7 = 88

11001010 = 0*2^0+1*2^1+0*2^2+1*2^3+0*2^4+0*2^5+1*2^6+1*2^7 = 202

3樓:倒不下的不倒翁

//不好意思我不知道你學什麼語言,這是pascal的。讀入應該沒有『 』吧,如果有,讀入還要改一下,這裡就不改了。你可以直接複製執行pascal,我都加『//』了。

var a:array[1..100]of longint;

s:string;

len,i,x,n,ans,xlink:longint;

begin

readln(s); //讀入的是字串

len:=length(s); //字串s的長度

//----------------------------------

for i:=1 to len do

val(s[i],a[len-i+1]); //這一段的意思是把這個二進位制的數倒序讀入

//-----------------------------------

n:=0;ans:=0; //計數器初始值

while n0 then //同上

begin

x:=1;

for xlink:=1 to n-1 do x:=x*2; //計算xn的幾次方的值

end;

ans:=ans+x; //項之和組成總和

end;

writeln(ans); //輸出 我跑過01100000,輸出是96,計算機算出來也是96....

end.

//對了,這是一個nlogn的演算法 = =汗,時間有限,將就用吧。還有就是,資料太大會爆記憶體,如果再打的話要上高精度了,那很麻煩的= =汗。所以這個演算法有待改進,就靠你了!!

//求lz給分,我看好你!!純手寫!!求好評~~

計算二進位制 十進位制數,二進位制轉十進位制的演算法怎麼算?

的 應該這樣簡單 先把39轉換成十六進位制 27然後再將那個2的一位變成二進位制的四位 0010再把7那一位變成二進位制的四位 0111 所以39的二進位制就是0010 0111 把這個二進位制數從右到左分組,四位一組為1101 0111 0001 然後把每一組變成十進位制就成了d71h 這樣很快變...

二進位制怎麼轉十進位制,二進位制如何轉化為十進位制

先寫出二進位制各位上代表的數字,然後運用加法即可計算出來。舉例二進位制10101110轉換成十進位制,這個二進位制數是8位的,那麼我們寫出8位二進位制數每位上的數字。最右邊位是個位,無論幾進位制,它都是1 然後寫左邊位是右邊位乘以2得到,因為我們要轉換的是二進位制 轉換n進位制就乘以n好了 這樣寫到...

二進位制和十進位制是什麼,十進位制與二進位制有什麼區別?

二進位制就是逢二進一也就是說每個位的最大值為1例如 100,101,111都是二進位制分別代表十進位制的4,5,7十進位制就是逢十進一也就是說每個位的最大值是9例如 99,88,79等 總結 n進位制就是每個位的最大值為x 1 兩種計數的方式 十進位制和二進位制到底有什麼區別?十進位制與二進位制有什...