c語言不同進位,c語言不同進位比大小

本文目錄一覽:

C語言不同進位的表示法

2進位只有1和0

組成

假如你看到1010101

這樣的那就是二進位了

8進位

就是由0~7的數字組成的

千萬不可能超過8,一般以0開頭

026

10進位不用說了就是由0~9組成,直接的數字表示

前面沒有任何標誌

16

進位

就是0~9

和A~F組成,

A

是代表10

然後依次類推出B~F,是以0x開頭

就這樣表示的

希望可以幫助你

望採納!!

C語言中進位的表示和轉換

C語言中常用的有十進位、二進位、八進位(用0表示)、十六進位(用0x表示)。

十進位轉二進位:

十進位轉二進位採取除於2取余的方式。

將十進位數除於2得到商和餘數,

將商繼續除於2一直到商為0,

將得到的餘數倒敘排列就是轉換為二進位的結果

二進位轉十進位:

從右向左用二進位位上的每一個數乘以2的相應次方

如二進位1010轉換為十進位:

1010 = 0*(2的0次方)+1*(2的1次方)+0*(2的2次方)+1*(2的3次方) = 2 + 8 = 10

八進位轉換為二進位

將二進位數自右向左每三位分為一段(若不足三位用0補齊),

然後將二進位的每三位轉換為一位八進位數

如將二進位數0101010轉換為八進位:

0 101 010不夠三位的補0得到

000 101 010 = 052 = 0052(八進位用0表示)

十六進位轉換為二進位

將二進位數自右向左每四位分為一段(若不足三位用0補齊),

然後將二進位的每4位轉換為一位十六進位數

如將二進位數0101100轉換為十六進位:

010 1100不夠三位的補0得到

0010 1100 = 2C= 0x2C(十六進位用0x表示)

C語言中的二進位、十進位、十六進位各是什麼意思?

計算機中常用的數的進位主要有:二進位、八進位、十六進位,學習計算機要對其有所了解。

2進位,用兩個阿拉伯數字:0、1;

8進位,用八個阿拉伯數字:0、1、2、3、4、5、6、7;

10進位,用十個阿拉伯數字:0到9;

16進位就是逢16進1,但我們只有0~9這十個數字,所以我們用A,B,C,D,E,F這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。

以下簡介各種進位之間的轉換方法:

一、二進位轉換十進位

例:二進位 「1101100」

1101100 ←二進位數

6543210 ←排位方法

例如二進位換算十進位的演算法:

1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20

↑ ↑

說明:2代表進位,後面的數是次方(從右往左數,以0開始)

=64+32+0+8+4+0+0

=108

二、二進位換算八進位

例:二進位的「10110111011」

換八進位時,從右到左,三位一組,不夠補0,即成了:

010 110 111 011

然後每組中的3個數分別對應4、2、1的狀態,然後將為狀態為1的相加,如:

010 = 2

110 = 4+2 = 6

111 = 4+2+1 = 7

011 = 2+1 = 3

結果為:2673

三、二進位轉換十六進位

十六進位換二進位的方法也類似,只要每組4位,分別對應8、4、2、1就行了,如分解為:

0101 1011 1011

運算為:

0101 = 4+1 = 5

1011 = 8+2+1 = 11(由於10為A,所以11即B)

1011 = 8+2+1 = 11(由於10為A,所以11即B)

結果為:5BB

四、二進位數轉換為十進位數

二進位數第0位的權值是2的0次方,第1位的權值是2的1次方……

所以,設有一個二進位數:0110 0100,轉換為10進位為:

計算: 0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100

五、八進位數轉換為十進位數

八進位就是逢8進1。

八進位數採用 0~7這八數來表達一個數。

八進位數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……

所以,設有一個八進位數:1507,轉換為十進位為:

計算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839

結果是,八進位數 1507 轉換成十進位數為 839

六、十六進位轉換十進位

例:2AF5換算成10進位

直接計算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997

(別忘了,在上面的計算中,A表示10,而F表示15)、

現在可以看出,所有進位換算成10進位,關鍵在於各自的權值不同。

假設有人問你,十進數 1234 為什麼是 一千二百三十四?你盡可以給他這麼一個算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100

十進位與二進位轉換之相互演算法

十進位轉二進位:

用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

二進位轉十進位

從最後一位開始算,依次列為第0、1、2…位

第n位的數(0或1)乘以2的n次方

得到的結果相加就是答案

例如:01101011.轉十進位:

第0位:1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然後:1+2+0

+8+0+32+64+0=107.

二進位01101011=十進位107.

一、二進位數轉換成十進位數

由二進位數轉換成十進位數的基本做法是,把二進位數首先寫成加權係數展開式,然後按十進位加法規則求和。這種做法稱為”按權相加”法。

二、十進位數轉換為二進位數

十進位數轉換為二進位數時,由於整數和小數的轉換方法不同,所以先將十進位數的整數部分和小數部分分別轉換後,再加以合併。

1. 十進位整數轉換為二進位整數

十進位整數轉換為二進位整數採用”除2取余,逆序排列”法。具體做法是:用2去除十進位整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為二進位數的低位有效位,後得到的餘數作為二進位數的高位有效位,依次排列起來。

2.十進位小數轉換為二進位小數

十進位小數轉換成二進位小數採用”乘2取整,順序排列”法。具體做法是:用2乘十進位小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進位小數的高位有效位,後取的整數作為低位有效位。

1.二進位與十進位的轉換

(1)二進位轉十進位BR方法:”按權展開求和”

例:

(1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10

=(8+0+2+1+0+0.25)10

=(11.25)10

(2)十進位轉二進位

· 十進位整數轉二進位數:”除以2取余,逆序輸出”

例: (89)10=(1011001)2

2 89

2 44 …… 1

2 22 …… 0

2 11 …… 0

2 5 …… 1

2 2 …… 1

2 1 …… 0

0 …… 1

· 十進位小數轉二進位數:”乘以2取整,順序輸出”

例:

(0.625)10= (0.101)2

0.625

X 2

1.25

X 2

0.5

X 2

1.0

2.八進位與二進位的轉換

例:將八進位的37.416轉換成二進位數:

37 . 4 1 6

011 111 .100 001 110

即:(37.416)8 =(11111.10000111)2

例:將二進位的10110.0011 轉換成八進位:

0 1 0 1 1 0 . 0 0 1 1 0 0

2 6 . 1 4

即:(10110.011)2 =(26.14)8

3.十六進位與二進位的轉換BR例:將十六進位數5DF.9 轉換成二進位:

5 D F . 9

0101 1101 1111.1001

即:(5DF.9)16 =(10111011111.1001)2

例:將二進位數1100001.111 轉換成十六進位:

0110 0001 . 1110

6 1 . E

即:(1100001.111)2 =(61.E)16

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/155193.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-17 02:39
下一篇 2024-11-17 02:39

相關推薦

  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有著廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • Python函數名稱相同參數不同:多態

    Python是一門面向對象的編程語言,它強烈支持多態性 一、什麼是多態多態是面向對象三大特性中的一種,它指的是:相同的函數名稱可以有不同的實現方式。也就是說,不同的對象調用同名方法…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • 從不同位置觀察同一個物體,看到的圖形一定不同

    無論是在平時的生活中,還是在科學研究中,都會涉及到觀察物體的問題。而我們不僅要觀察物體本身,還需要考慮觀察的位置對觀察結果的影響。從不同位置觀察同一個物體,看到的圖形一定不同。接下…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28

發表回復

登錄後才能評論