欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

二進制、八進制?、十進制、十六進制之間轉(zhuǎn)換的原理詳解

 更新時間:2024年11月02日 16:27:15   作者:Wy_編程  
本文介紹了進制的概念及其在C語言編程中的應用,進制是進位制的簡稱,描述了數(shù)值在不同進制下的表示方法,常見的進制包括二進制、八進制和十六進制,二進制使用0和1表示,八進制使用0-7數(shù)字表示,十六進制使用0-9和A-F表示,文章還介紹了如何在不同進制之間進行轉(zhuǎn)換

本文介紹了進制的概念及其在C語言編程中的應用,進制是進位制的簡稱,描述了數(shù)值在不同進制下的表示方法,常見的進制包括二進制、八進制和十六進制,二進制使用0和1表示,八進制使用0-7數(shù)字表示,十六進制使用0-9和A-F表示,文章還介紹了如何在不同進制之間進行轉(zhuǎn)換,如十進制轉(zhuǎn)二進制、八進制及十六進制的方法,通過具體的計算實例,讀者可掌握進制轉(zhuǎn)換的基本技巧。

C語言編譯過程

1   gcc 源碼文件.c -o 可執(zhí)行文件.exe           -o生產(chǎn)exe
    helloWorld.c -o hell.exe  
    

1、預處理  宏定義展開、頭文件展開、刪除注釋
    gcc -E 源碼文件 -o 生成文件.i       //gcc -E helloworld.c -o hello.i    .i編譯文件
2、編譯    檢查語法,將文件轉(zhuǎn)成匯編文件
     gcc -S 預處理生成的.i文件 -o 生成文件.s   //gcc -S hello.i -o hello.s    .s匯編文件
3、匯編    將匯編文件轉(zhuǎn)成二進制文件
    gcc -c hello.s -o hello.o       //
4、鏈接    將C語言鏈接庫鏈接到程序中
    gcc hello.o -o hello.exe  

進制轉(zhuǎn)換

1、進制的概念

進制也就是進位制,是人們規(guī)定的一種進位方法。 對于任何一種進制—X進制,就表示某一位置上的數(shù)運算時是逢X進一位。 十進制是逢十進一,十六進制是逢十六進一,二進制就是逢二進一,以此類推,x進制就是逢x進位。

1.1 二進制

二進制是計算技術中廣泛采用的一種數(shù)制。二進制數(shù)據(jù)是用0和1兩個數(shù)碼來表示的數(shù)。它的基數(shù)為2,進位規(guī)則是“逢二進一”,借位規(guī)則是“借一當二”。

1.2 八進制

八進制,Octal,縮寫OCT或O,一種以8為基數(shù)的計數(shù)法,采用0,1,2,3,4,5,6,7八個數(shù)字,逢八進1。一些編程語言中常常以數(shù)字0開始表明該數(shù)字是八進制。

1.3 十六進制

十六進制(英文名稱:Hexadecimal),同我們?nèi)粘I钪械谋硎痉ú灰粯樱?-9,A-F組成,字母不區(qū)分大小寫。與10進制的對應關系是:0-9對應0-9,A-F對應10-15。

進制在程序中的表現(xiàn)方式

十進制以正常數(shù)字1-9開頭,如123
八進制以數(shù)字0開頭,如0123
十六進制以0x開頭,如0x123
二進制C語言不能直接書寫二進制數(shù)
二進制八進制十六進制十進制
0000
1111
10222
11333
100444
101555
110666
111777
10001088
10011199
101012A10
101113B11
110014C12
110115D13
111016E14
111117F15
10000181016

十進制與二進制互轉(zhuǎn)

將十進制轉(zhuǎn)換成二進制(除2反序取余法)

二進制轉(zhuǎn)十進制(權值法)

從二進制的末尾依次乘以2的n次冪(n是從0 開始的)

小提示: 任何數(shù)的0次冪都等于1

? 任何數(shù)的1次冪都等于本身

十進制的 123 使用上面的方法(除2 反序取余法)得到的二進制為1111011

將1111011 轉(zhuǎn)成10進制

1∗20+1∗21+0∗22+1∗23+1∗24+1∗25+1∗26=123

八進制與十進制互轉(zhuǎn)

將十進制轉(zhuǎn)換成八進制(除8反序取余法)

八進制轉(zhuǎn)十進制(權值法)

從八進制的末尾依次乘以8的n次冪(n是從0 開始的)

3∗80+7∗81+1∗82=123

十六進制與十進制互轉(zhuǎn)

將十進制轉(zhuǎn)換成十六進制(除16反序取余法)

十六進制轉(zhuǎn)十進制(權值法)

從十六進制的末尾依次乘以16的n次冪(n是從0 開始的)

11∗160+7∗161=123

快速轉(zhuǎn)換8421法則

在對應的位置填1

4096204810245121286432168421二進制結(jié)果
1111011十進制的1231111011
1010010016410100100
11111011000200811111011000
11111101000202411111101000

二進制快速轉(zhuǎn)換八進制

八進制的數(shù)和二進制數(shù)可以按位對應(八進制一位對應二進制三位)。

例:

將二進制從末尾3位一隔
十進制: 123
二進制: 1111011
八進制: 011   按照8431 法則  011 = 3
        111     按照8431 法則  111 = 7
        1       按照8431 法則  011 = 1
轉(zhuǎn)換結(jié)果為173   
    
同理: 八進制轉(zhuǎn)換二進制時也是將八進制每一位的值轉(zhuǎn)換成3位2進制就可以了
    
    173
    1-------1
    7-------111
    3-------011
    
    二進制結(jié)果就是: 1111011
    


二進制快速轉(zhuǎn)換十六進制

十六進制的數(shù)和二進制數(shù)可以按位對應(十六進制一位對應二進制四位)。

例:

將二進制從末尾3位一隔
十進制: 123
二進制: 1111011
十六進制: 1011   按照8431 法則  011 = b
        0111        按照8431 法則  111 = 7
轉(zhuǎn)換結(jié)果為7b
    

16進制快速轉(zhuǎn)換2進制

7B
7----------111
B----------1011

結(jié)果: 1111011

浮點型數(shù)據(jù)轉(zhuǎn)換成2進制

十進制的小數(shù)轉(zhuǎn)換成二進制:小數(shù)部分和2相乘,取整數(shù),不足1取0,每次相乘都是小數(shù)部分,順序看取整后的數(shù)就是轉(zhuǎn)化后的結(jié)果。(小數(shù)位有多少位就乘以多少次) ;從上往下取值;

將小數(shù)部分依次乘以2 如果結(jié)果中整數(shù)部分值為1 取值為1 如果為0 值
為0 小數(shù)位數(shù)有多少位 乘多少次
double a = 123.4567;

0.4567
  *2
0.9134      0
  *2
1.8268      1
0.8268    
  *2        
1.6536      1
0.6536
  *2
1.3072      1

0.4567 = 0111

總結(jié)

到此這篇關于二進制、八進制 、十進制、十六進制之間轉(zhuǎn)換的原理詳解的文章就介紹到這了,更多相關進制轉(zhuǎn)換原理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • c++中八大排序算法

    c++中八大排序算法

    本篇文章主要介紹了八大排序算法,詳細的介紹了八個算法思想,實現(xiàn)代碼,穩(wěn)定性,時間復雜度等,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • C++語言實現(xiàn)hash表詳解及實例代碼

    C++語言實現(xiàn)hash表詳解及實例代碼

    這篇文章主要介紹了C++語言實現(xiàn)hash表詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-01-01
  • C++?OpenCV實現(xiàn)白平衡之完美反射算法

    C++?OpenCV實現(xiàn)白平衡之完美反射算法

    完美反射算法是白平衡各種算法中較常見的一種,比灰度世界算法更優(yōu)。本文將利用C++和OpenCV實現(xiàn)白平衡中的完美反射算法,需要的可以參考一下
    2022-05-05
  • C++/CLI在vs上的安裝和初步使用教程

    C++/CLI在vs上的安裝和初步使用教程

    本文給大家介紹C++/CLI在vs上的安裝和初步使用,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • C++中的STL常用算法之遍歷算法詳解

    C++中的STL常用算法之遍歷算法詳解

    這篇文章主要介紹了C++中的STL常用算法之遍歷算法詳解,ransform() 可以將函數(shù)應用到容器的元素上,并將這個函數(shù)返回的值保存到另一個容器中,它返回的迭代器指向輸出容器所保存的最后一個元素的下一個位置,需要的朋友可以參考下
    2023-12-12
  • C語言編程中生成隨機數(shù)的入門教程

    C語言編程中生成隨機數(shù)的入門教程

    這篇文章主要介紹了C語言編程中生成隨機數(shù)的入門教程,包括利用rand()函數(shù)來編寫隨機數(shù)生成器的示例,要的朋友可以參考下
    2015-12-12
  • C語言枚舉(enum)和聯(lián)合(union)實例分享

    C語言枚舉(enum)和聯(lián)合(union)實例分享

    在本篇文章里小編給大家整理了關于C語言枚舉(enum)和聯(lián)合(union)實例內(nèi)容,需要的朋友們可以學習下。
    2020-03-03
  • C語言圖書管理系統(tǒng)實驗

    C語言圖書管理系統(tǒng)實驗

    這篇文章主要為大家詳細介紹了C語言圖書管理系統(tǒng)實驗,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++數(shù)據(jù)結(jié)構之文件壓縮(哈夫曼樹)實例詳解

    C++數(shù)據(jù)結(jié)構之文件壓縮(哈夫曼樹)實例詳解

    這篇文章主要介紹了C++數(shù)據(jù)結(jié)構之文件壓縮(哈夫曼樹)實例詳解的相關資料,利用哈夫曼編碼的方式對文件進行壓縮,并且對壓縮文件可以解壓,需要的朋友可以參考下
    2017-07-07
  • C++超詳細講解拷貝構造函數(shù)

    C++超詳細講解拷貝構造函數(shù)

    我們經(jīng)常會用一個變量去初始化一個同類型的變量,那么對于自定義的類型也應該有類似的操作,那么創(chuàng)建對象時如何使用一個已經(jīng)存在的對象去創(chuàng)建另一個與之相同的對象呢
    2022-06-06

最新評論