將十進位制的123轉為二進位制 八進位制 十六進製制。(寫出過程)謝了急用

2021-04-08 23:57:57 字數 6423 閱讀 2168

1樓:匿名使用者

123-64=59, 59-32=27, 27-16=11, 11-8=3, 3-2=1

64是2的6次,從0次開始是在第7位,所以二進位制的第7位為1,以次類推,32是2的5次,16是2的4次,8是2的3次,2是2的1次,都可以被餘數可減,其分別的位數上為1,最後餘1,最後一位為1。所以123的二進位制為:1111011

知道二進位制後,用二進位制轉成八進位制和十六進製制

八進位制:右往左每三位二進位制為一組用一位八進位制的數字來表示,不足三位的用0補足,

二進位制:1 111 011

八進位制: 1 7 3

二進位制與八進位制間的關係

二進位制 000 001 010 011 100 101 110 111

八進位制 0 1 2 3 4 5 6 7

十六進製制:右往左每四位二進位制為一組用一位八進位制的數字來表示,不足四位的用0補足,

二進位制:0111 1011

十六進製制: 7 b

二進位制與十六進製制的關係

2進製 0000 0001 0010 0011 0100 0101 0110 0111

16進製制 0 1 2 3 4 5 6 7

2進製 1000 1001 1010 1011 1100 1101 1110 1111

16進製制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)

2樓:倒霉熊

123/2 = 61 .......1

61/2 = 30 ..........130/2 = 15............015/2=7 ................

17/2=3......................13/2=1......................11/2=0......................

1(餘數)所以,而二進位制

為 1111011

同理:八進位制為:173

十六進製制為:7b

3樓:匿名使用者

int x ;

scanf("%d",&x);

std::stacks;

for(int i=0; i<32; i++)bool t = false;

for (int i = 0; i< 32; i++)printf("\n");

printf("%o\n",x);

printf("%x\n,x);

十進位制100轉換成二進位制,八進位制,十六進製制,寫出步驟

4樓:丿

1、100轉換成二進位制為1100100,步驟如下:

(1)將100按照2的加權項。

(2)從右向左填充二進位制數字。

2、100轉換成八進位制為144,步驟如下:

(1)100的二進位制結果「1100100」,從右向左每三個數字分為一組。

(2)將每組的結果分別轉換為八進位制。

3、100轉換成十六進製制為64,步驟如下:

(1)100的二進位制結果「1100100」,從右向左每四個數字分為一組。

(2)將每組的結果分別轉換為十六進製制。

5樓:不咩

1、十進位制轉換二進位制

2 /100 0

2/50 0

2/25 1

2/12 0

2/6 0

3/2 1

1/2 1

然後從尾到頭讀數就是 1100100

二進位制轉換八進位制是3位一組

所以就是 001 100 100 位數不夠,前面補0

2、八進位制與二進位制、十六進製制之間關係與具體步驟

八進位制 對應二進位制 十六進製制 對應二進位制 十六進製制 對應二進位制

0 000 0 0000 8 1000

1 001 1 0001 9 1001

2 010 2 0010 a 1010

3 011 3 0011 b 1011

4 100 4 0100 c 1100

5 101 5 0101 d 1101

6 110 6 0110 e 1110

7 111 7 0111 f 1111

然後對應二進位制數 八進位制3為一組 十六進製制4位一組

二進位制1100100 對應八進位制 001 100 100 就是八進位制數 144

二進位制1100100 對應十六進製制 0110 0100 就是十六進製制 64

擴充套件資料

1、十進位制

人類天然選擇了十進位制。

由於人類解剖學的特點,雙手共有十根手指,故在人類自發採用的進製中,十進位制是使用最為普遍的一種。成語「屈指可數」某種意義上來說描述了乙個簡單計數的場景,而原始人類在需要計數的時候,首先想到的就是利用天然的算籌——手指來進行計數。

2、二進位制

二進位制有兩個特點:它由兩個數碼0,1組成,二進位制數運算規律是逢二進一。

為區別於其它進製,二進位制數的書寫通常在數的右下方注上基數2,或加後面加b表示,其中b是英文二進位制binary的首字母。

3、八進位制

由於二進位制資料的基數r較小,所以二進位制資料的書寫和閱讀不方便,為此,在小型機中引入了八進位制。八進位制的基數r=8=2^3,有數碼0、1、2、3、4、5、6、7,並且每個數碼正好對應三位二進位制數,所以八進位制能很好地反映二進位制。

八進位製用下標8或資料後面加o表示 例如:二進位制資料 ( 11 101 010 . 010 110 100 )2 對應八進位制資料 (352.264)8或352.264o。

4、十六進製制

由於二進位制數在使用中位數太長,不容易記憶,所以又提出了十六進製制數。

十六進製制數有兩個基本特點:它由十六個數碼:數字0~9加上字母a-f組成(它們分別表示十進位制數10~15),十六進製制數運算規律是逢十六進一,即基數r=16=2^4,通常在表示時用尾部標誌h或下標16以示區別,在c語言中用新增字首0x以表示十六進製制數。

5、進製轉換 

進製轉換是人們利用符號來計數的方法。進製轉換由一組數碼符號和兩個基本因素「基數」與「位權」構成。

基數是指,進製計數制中所採用的數碼(數制中用來表示「量」的符號)的個數。

位權是指,進製中每一固定位置對應的單位值。

123.125這個十進位制的數分別轉化成二進位制,八進位制,十六進製制的演算方法

6樓:匿名使用者

像這種可以有規律按2的

n次方進行整數化的數,可直接乘以相應的2的n次方進內行整數化,化為二進位制容後再移動相應的位數。

小數部分0.125,即1/8,乘以8(2^3)是最好的整數化方法。

(123.125)10*(2^3)10

=(123.125)10*(8)10

=(985)10

=(3d9)16

=(0011 1101 1001)2

因為最初乘了8,即2的2次方,所以換算成二進位制時應右移三位,即最終結果等於(001111011.001)2。

ps:為什麼要換算成十六進製制?乙個十六進製制數就等於四個二進位制位,一次性就計算了四個二進位制位的結果,這當然是相對比較有效率的做法。

乙個八進位制數就等於三個二制位,

所以(001111011.001)2可按每三位進行一次分割,缺位補零即:(001 111 011.001)2=(173.1)8乙個十六進製制數就等於四個二制位,

所以(001111011.001)2可按每四位進行一次分割,缺位補零即:(0111 1011.0010)2=(7b.2)16

將十進位制數2746.12851轉化成二進位制,八進位制,十六進製制的過程

7樓:鄙視花開

二進位制101010111010.001000001,八進位制5272.101,十六進製制aba.20f。

一、將整數部分轉換為二進位制數,採用輾轉除以2並取餘數

1、2746/2 = 1373  餘0

2、1373/2 = 686   餘1

3、686/2 = 343    餘0

4、343/2 = 171    餘1

5、171/2 = 85     餘1

6、85/2 = 42      餘1

7、42/2 = 21      餘0

8、21/2 = 10      餘1

9、10/2 = 5       餘0

10、5/2 = 2        餘1

11、2/2 = 1        餘0

12、1/2 = 0        餘1

13、所以,整數部分的二進位制數為(自下而上):101010111010

二、將小數部分轉換成二進位制數,採用輾轉乘以2並取整數

1、0.12851*2 = 0.25702  整數部分:0

2、0.25702*2 = 0.51404  整數部分:0

3、0.51404*2 = 1.02808  整數部分:1

4、0.02808*2 = 0.05616  整數部分:0 (這一步只取上一步的小數部分)

5、0.05616*2 = 0.11232  整數部分:0

6、(如此一直算下去,直到滿足小數點後的位數精度)

7、所以,整數部分的二進位制數為(自上而下):001000001

三、將得到的二進位制結果101010111010.00100轉換為8進製

1、從小數點開始往左,每三個二進位制為一組,將整數部分轉換為8進製數:101 010 111 010 --> 5272

2、從小數點開始往右,每三個二進位制為一組,將小數部分轉換為8進製數:001 000 001 --> 101

3、所以8進製的結果為:5272.101

四、將得到的二進位制結果101010111010.00100轉換為16進製制

1、從小數點開始往左,每四個個二進位制為一組,將整數部分轉換為16進製制數,如果不夠4位二進位制數,在最左邊補0:1010 1011 1010 --> aba

2、從小數點開始往右,每四個二進位制為一組,將小數部分轉換為16進製制數,如果不夠4位二進位制數,在最右側補1:0010 0000 11111 --> 20f

3、所以16進製制結果為:aba.20f

8樓:匿名使用者

2746.12851(十進位制)

二進位制:101010111010.001000001

八進位制:5272.101

十六進製制:aba.20f

轉換步驟為:

1)將整數部分轉換為二進位制數,採用輾轉除以2並取餘數

2746/2 = 1373 餘0

1373/2 = 686 餘1

686/2 = 343 餘0

343/2 = 171 餘1

171/2 = 85 餘1

85/2 = 42 餘1

42/2 = 21 餘0

21/2 = 10 餘1

10/2 = 5 餘0

5/2 = 2 餘1

2/2 = 1 餘0

1/2 = 0 餘1 (結束)

所以,整數部分的二進位制數為(自下而上):101010111010

2)將小數部分轉換成二進位制數,採用輾轉乘以2並取整數

0.12851*2 = 0.25702 整數部分:0

0.25702*2 = 0.51404 整數部分:0

0.51404*2 = 1.02808 整數部分:1

0.02808*2 = 0.05616 整數部分:0 (這一步只取上一步的小數部分)

0.05616*2 = 0.11232 整數部分:0

……(如此一直算下去,直到滿足小數點後的位數精度)

所以,整數部分的二進位制數為(自上而下):00100...

3)將得到的二進位制結果101010111010.00100轉換為8進製

從小數點開始往左,每三個二進位制為一組,將整數部分轉換為8進製數:

101 010 111 010 --> 5272

從小數點開始往右,每三個二進位制為一組,將小數部分轉換為8進製數:

001 000 001 --> 101

所以8進製的結果為:5272.101

4)將得到的二進位制結果101010111010.00100轉換為16進製制

從小數點開始往左,每四個個二進位制為一組,將整數部分轉換為16進製制數,如果不夠4位二進位制數,在最左邊補0:

1010 1011 1010 --> aba

從小數點開始往右,每四個二進位制為一組,將小數部分轉換為16進製制數,如果不夠4位二進位制數,在最右側補1:

0010 0000 11111 --> 20f

所以16進製制結果為:aba.20f

十進位制轉二進位制原理,十進位制轉二進位制的這方法的數學原理是什麼啊?求大神詳解!

用2輾轉相除至結果為1 將餘數和最後的1從下向上倒序寫 就是結果 例如302 302 2 151 餘0 151 2 75 餘1 75 2 37 餘1 37 2 18 餘1 18 2 9 餘0 9 2 4 餘1 4 2 2 餘0 2 2 1 餘0 故二進位制為100101110 二進位制轉十進位制 從...

將十進位制數47轉換為二進位制,八進位制,十進位制,十六進製制,大哥們,有沒有詳細過程

47 2 23 餘1 23 2 11 餘1 11 2 5 餘1 5 2 2 餘1 2 2 1 餘0 1 2 0 餘1 以上從下到上餘數排列為101111,即47的二進位制表示,八進位制和十六進製制照此辦理 即除以8 16 得整數商和餘數,直到商為0,然後將餘數用相應進製數連線起來 47 1 2 5 ...

1122db十進位制轉二進位制

樓上的回答錯誤 1.122 d b 十進位制轉二進位制 答案是111010十進位制轉二進位制是用的除以二倒序取餘的方法。十進位制轉二進位制 用2輾轉相除至結果為1 將餘數和最後的1從下向上倒序寫 就是結果 例如302 302 2 151 餘0 151 2 75 餘1 75 2 37 餘1 37 2 ...