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

2021-03-27 13:25:39 字數 5473 閱讀 8742

1樓:白痴的姜

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

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

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

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

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

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

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

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

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

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

2樓:匿名使用者

一個十進位制的數 ÷ 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

3樓:白痴的姜

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

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

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

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

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

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

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

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

4樓:匿名使用者

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進位制,二進位制,八進位制,十六進位制,十進位制怎麼轉換

5樓:匿名使用者

首先要明白你所說的四位數是指二進位制的四位數

二進位制和十六進位制的互相轉換比較重要。不過這二者的轉換卻不用計算,每個c,c++程式設計師都能做到看見二進位制數,直接就能轉換為十六進位制數,反之亦然。

首先我們來看一個二進位制數:1111,它是多少呢?

你可能還要這樣計算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。

然而,由於1111才4位,所以我們必須直接記住它每一位的權值,並且是從高位往低位記,:8、4、2、1。即,最高位的權值為23 = 8,然後依次是 22 = 4,21=2, 20 = 1。

記住8421,對於任意一個4位的二進位制數,我們都可以很快算出它對應的10進位制值。

下面列出四位二進位制數 ***x 所有可能的值(中間略過部分)

僅4位的2進位制數 快速計算方法 十進位制值 十六進值

1111 = 8 + 4 + 2 + 1 = 15 f

1110 = 8 + 4 + 2 + 0 = 14 e

1101 = 8 + 4 + 0 + 1 = 13 d

1100 = 8 + 4 + 0 + 0 = 12 c

1011 = 8 + 4 + 0 + 1 = 11 b

1010 = 8 + 0 + 2 + 0 = 10 a

1001 = 8 + 0 + 0 + 1 = 9 9

1000 = 8 + 0 + 0 + 0 = 8 8

0111 = 0 + 4 + 2 + 1 = 7 7

0110 = 0 + 4 + 2 + 0 = 6 60101 = 0 + 4 + 0 + 1 = 5 50100 = 0 + 4 + 0 + 0 = 4 40011 = 0 + 0 + 2 + 1 = 3 30010 = 0 + 0 + 2 + 0 = 2 2

0001 = 0 + 0 + 0 + 1 = 1 1

0000 = 0 + 0 + 0 + 0 = 0 0

二進位制數要轉換為十六進位制,就是以4位一段,分別轉換為十六進位制。

如(上行為二制數,下面為對應的十六進位制):

1111 1101 , 1010 0101 , 1001 1011

f d , a 5 , 9 b

反過來,當我們看到 fd時,如何迅速將它轉換為二進位制數呢?

先轉換f:

看到f,我們需知道它是15(可能你還不熟悉a~f這五個數),然後15如何用8421湊呢?應該是8 + 4 + 2 + 1,所以四位全為1 :1111。

接著轉換 d:

看到d,知道它是13,13如何用8421湊呢?應該是:8 + 2 + 1,即:1011。

所以,fd轉換為二進位制數,為: 1111 1011 問題中的二進位制數(0000 1000 ),(1100 0011)分別轉換為十六進位制數為:8,c3

6樓:匿名使用者

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

7樓:匿名使用者

#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)

十進位制100 75轉換成二進位制,十進位制100轉二進位制是多少

計算器是不會計算小數的 十進位制100.75轉換成二進位制 先拿整數100除以2。100 2 50餘0,50 2 25餘0,25 2 12餘1,12 2 6餘0,6 2 3餘0,3 2 1,餘1,從後往前看就是1100100 小數75轉換是用乘的,0.75 2 1.50取整數1。用0.50 2 1....

二進位制數11000000轉換成十進位制數是多少

192二進位制是計算技術中廣泛採用的一種數制,二進位制資料是用0和1兩個數碼來表示的數,它的基數為2,進位規則是 逢二進一 和十進位制的 逢十進一 是一個道理。二進位制轉換成十進位制 要從右到左用二進位制的每個數去乘以2的相應次方例如 十進位制的123可以表示成 1 10 2 2 10 1 3 10...

數字「192」轉換成二進位制數,再轉換成十進位制

192轉換為二進位制數方法是除2取餘反向輸出如下 192 2 商96 餘0 96 2 商48 餘0 48 2 商24 餘0 24 2 商12 餘0 12 2 商6 餘0 6 2 商3 餘0 3 2 商1 餘1 1 2 商0 餘1 結果為 11000000 再轉換為十進位制是,從最右邊開始 2 0 0...