將某R進位制數轉換成十進位制的方法是法

2021-03-07 04:03:36 字數 5928 閱讀 3486

1樓:匿名使用者

#include

//獲取字串長度

int getlength(char a)return count;

}//反轉字串

void reverse(char a)

對應8進位制

void convertinttochars(int a,int base,char result)

result[index]=0;

reverse(result);

}//將字串以base進位制轉換為10進位制int atoi(char a,int base)return sum;

}//十進位制轉八進位制,並以十進位制形式表示,如8(十進位制)對應10(八進位制)

int decimaltooctal(int a)//八進位制轉十進位制,並以十進位制形式表示

int octaltodecimal(int a)//n進位制轉十進位制

int ntodecimal(int a,int n)int main(int argc, constchar * argv)

2樓:匿名使用者

設你所求的r進位制數為(a3a2a1a0.a-1a-2)=a3*r3+a2*r2+a1*r1+a0+a-1*r-1+a-2*r-2

其中資料或為下標,或為上標。

十進位制的數如何轉換成r進位制的,r進位制的數如何轉換成十進位制的

3樓:匿名使用者

一個十進位制的數 ÷ r = 商 …… 餘數如果商<r,那麼r進位制數 = 商 × 10 + 餘數如果商≥r 繼續除,至到商<r,

r進位制數 = 最小的商 & 餘數 & 餘數 & … & 餘數r進位制的數向右第一位的數×r的(r進位制數的位數減一)次冪+r進位制的數向右第二位的數 × r的(r進位制數的位數減二次冪)+ … +r進位制數的最右那位×r的零次冪

= 一個以十進位制表示的數

十進位制的數127,5進位制 如下:

127 ÷ 5 = 25 …… 2

25>5

25 ÷ 5 = 5 …… 0

5 = 5

5 ÷ 5 = 1 …… 0

5進位制數為1002

1002是個4位數

1002的位數減一 = 3

1 × 5³ + 0 × 5² + 0 × 5¹ + 2 × 5⁰= 125 + 0 + 0 + 2

= 127

4樓:白痴的姜

(1)將一個十進位制數除以二,得到的商再除以二,依此類推直到商等於一或零時為止,倒取將除得的餘數,即換算為二進位制數的結果。例如把52換算成二進位制數:

所以52對應的二進位制數就是110100。

(2)整數二進位制用數值乘以2的冪次依次相加,小數二進位制用數值乘以2的負冪次然後依次相加即為十進位制。比如將二進位制110轉換為十進位制:

(1)二進位制是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。

當前的計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼的形式儲存的。計算機中的二進位制則是一個非常微小的開關,用1來表示「開」,0來表示「關」。

(2)十進位制計數法是相對二進位制計數法而言的,是我們日常使用最多的計數方法(俗稱"逢十進一")。它的定義是:「每相鄰的兩個計數單位之間的進率都為十的計數法則就叫做十進位制計數法」。

(3)十進位制的有限小數轉換成二進位制不能保證能精確轉換,二進位制小數轉換成十進位制也遇到同樣的問題。這也為資訊處理帶來了很大的不便。甚至為了能夠較快的轉換十進位制數和二進位制數,在設計處理器的時候加入了專門的電路和語句來完成這個過程,造成了處理器設計的浪費。

因此,可以說十進位制不適應現代化資訊裝置。

5樓:匿名使用者

public function dec_bin(byval dnum as long) as string

dim xx as string

dim yy as integer

xx = ""

do while dnum > 0

yy = dnum mod 2

dnum = dnum \ 2

xx = trim(str(yy)) & xx

loop

dec_bin = xx

end function

public function dec_o(byval dnum as long) as string

dim xx as string

dim yy as integer

dim a

a = array(0, 1, 2, 3, 4, 5, 6, 7)

xx = ""

do while dnum > 0

yy = a(dnum mod 8)

dnum = dnum \ 8

xx = yy & xx

loop

dec_o = xx

end function

public function dec_h(byval dnum as long) as string

dim xx as string

dim yy as string

dim r

r = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f")

xx = ""

do while dnum > 0

yy = r(dnum mod 16)

debug.print yy

dnum = dnum \ 16

xx = yy & xx

loop

dec_h = xx

end function

private sub ***mand1_click()

text2.text = dec_bin(val(text1.text))

end sub

private sub ***mand2_click()

text3.text = dec_o(val(text1.text))

end sub

private sub ***mand3_click()

text4.text = dec_h(val(text1.text))

end sub

private sub form_load()

text1.text = 12

text2.text = ""

text3.text = ""

text4.text = ""

end sub

"將十進位制數轉換為r進位制數時,小數部分採用除r取餘法",這句話對嗎

6樓:匿名使用者

舉個例子,就容易理解。25.125轉化為二進位制步驟:

25÷2=12餘1

12÷2=6餘0

6÷2=3餘0

3÷2=1餘1

1÷2=0餘1

從下到上取餘數為:11001,

整數25轉換結果為11001,

0.125x2=0.25取整0

0.25x2=0.5取整0

0.5x2=1.0取整1

小數0.125從上到下取整數為:001,

小數0.125轉換結果為001,

所以25.125最後的轉換結果為:11001.001

7樓:一顆程式猿

不對, 是"整數部分採用除r倒取餘法"

十進位制的數如何轉換成r進位制的,r進位制的數如何轉換成十進位制的?

8樓:白痴的姜

(1)將一個十進位制數除以二,

得到的商再除以二,依此類推直到商等於一或零時為止,倒取將除得的餘數,即換算為二進位制數的結果。例如把52換算成二進位制數:

所以52對應的二進位制數就是110100。

(2)整數二進位制用數值乘以2的冪次依次相加,小數二進位制用數值乘以2的負冪次然後依次相加即為十進位制。比如將二進位制110轉換為十進位制:

(1)二進位制是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。

當前的計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼的形式儲存的。計算機中的二進位制則是一個非常微小的開關,用1來表示「開」,0來表示「關」。

(2)十進位制計數法是相對二進位制計數法而言的,是我們日常使用最多的計數方法(俗稱"逢十進一")。它的定義是:「每相鄰的兩個計數單位之間的進率都為十的計數法則就叫做十進位制計數法」。

(3)十進位制的有限小數轉換成二進位制不能保證能精確轉換,二進位制小數轉換成十進位制也遇到同樣的問題。這也為資訊處理帶來了很大的不便。甚至為了能夠較快的轉換十進位制數和二進位制數,在設計處理器的時候加入了專門的電路和語句來完成這個過程,造成了處理器設計的浪費。

因此,可以說十進位制不適應現代化資訊裝置。

棧的簡單應用:數制轉換問題(將十進位制數n轉換為r進位制的數) 將十進位制數n轉換為r進位制的數,其轉換方法利用

9樓:陳學陽

哥兒們,泛bai

型好象是用在對du象上,不是用在基本類zhi型上吧?非要dao這麼做,只內能說是「少年不識容

愁滋味,為覓新詞強說愁」了。

stacks=new stack();

while(n>0)

while(!s.empty())

如果對您有幫助,請記得采納為滿意答案,謝謝!祝您生活愉快!

vaela

如何將十進位制轉換成各種進位制

10樓:如果愛0213巨蟹

1將十進位制轉換bai為r進位制時

du,可將此數分為整數

和小數zhi兩部分分別轉換dao,然後拼接起回

二進位制數如何轉換成十進位制數?

11樓:會飛的小兔子

二進位制數轉換成十進位制數的方法如下:

1、正整數轉成二進位制,除二取餘,然後倒序排列,高位補零。將正的十進位制數除以二,得到的商再除以二,依次類推知道商為零或一時為止,然後在旁邊標出各步的餘數,最後倒著寫出來,高位補零就可以。

2、42除以2得到的餘數分別為010101,然後倒著排一下,42所對應二進位制就是101010。

3、計算機內部表示數的位元組單位是定長的,如8位,16位,或32位。所以,位數不夠時,高位補零,所說,如圖3所示,42轉換成二進位制以後就是。00101010,也即規範的寫法為(42)10=(00101010)2。

4、負整數轉換成二進位制方法:先是將對應的正整數轉換成二進位制後,對二進位制取反,然後對結果再加一。還以42為例,負整數就是-42,如圖4所示為方法解釋。

最後即為:(-42)10=(11010110)2。

5、小數轉換為二進位制的方法:對小數點以後的數乘以2,取結果的整數部分(不是1就是0嘍),然後再用小數部分再乘以2,再取結果的整數部分……以此類推,直到小數部分為0或者位數已經夠了。然後把取的整數部分按先後次序排列,就構成了二進位制小數部分的序列。

6、 如果小數的整數部分有大於0的整數時該如何轉換呢?如以上整數轉換成二進位制,小數轉換成二進位制,然後加在一起。

7、整數二進位制轉換為十進位制:首先將二進位制數補齊位數,首位如果是0就代表是正整數,如果首位是1則代表是負整數。先看首位是0的正整數,補齊位數以後,將二進位制中的位數分別將下邊對應的值相乘,然後相加得到的就為十進位制,比如1010轉換為十進位制。

8、若二進位制補足位數後首位為1時,就需要先取反再換算:例如,11101011,首位為1,那麼就先取反吧:-00010100,然後算一下10100對應的十進位制為20,所以對應的十進位制為-20。

9、將有小數的二進位制轉換為十進位制時:例如0.1101轉換為十進位制的方法:

將二進位制中的四位數分別於下邊對應的值相乘後相加得到的值即為換算後的十進位制,這樣二進位制數轉換成十進位制數的問題就解決了。

將十進位制數60 125轉換成各進位制數將二進位制數轉換成各進位制數電腦作業求詳細過程謝謝

像這種可以有規律按2的n次方進行整數化的數,可直接乘以相應的2的n次方進行整數化,化為二進位制後再移動相應的位數。小數部分0.125,即1 8,乘以8 2 3 是最好的整數化方法。60.125 10 2 3 10 60.125 10 8 10 481 10 1e1 16 1 1110 0001 2 ...

十六進位制數如何轉換成十進位制,十六進位制轉換成十進位制的具體演算法?

16進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方 所以,在第n n從0開始 位上,如果是是數 x x 大於等於0,並且x小於等於 15,即 f 表示的大小為 x 16的n次方。進位制轉換表 例 2af5換算成10進位制 用豎式計算 第0位 5 16 0...

二進位制數00111101轉換成十進位制數為多少

二進位制數00111101轉換成十進位制數,結果是61。計算方法 對二進位制資料,從低位向高內位 從右向左 逐個數容字求2的次方,數字0跳過,次方結果再求和。例如,00111101的計算公式 2的0次方 2的2次方 2的3次方 2的4次方 2的5次方 2的6次方 1 4 8 16 32 61 從右到...