C語言常用的進位轉換工具函數盤點!爺爺再也不用擔心我不會進位...

2020-12-09 騰訊網

01

字符串轉十六進位

代碼實現:

02

十六進位轉字符串

代碼實現:

或者:

效果:十六進位"0x13 0xAA 0x02",轉為字符串"13AAA2"。

03

字符串轉十進位

(1)若帶負號,代碼實現:

效果:字符串"-123"轉為"-123"。

(2)若不帶負號,代碼實現:

效果:字符串"123"轉為"123"。

(3)包含轉為浮點數,代碼實現:

效果:字符串"123.456"先轉為"123456",然後除以1000得到"123.456"。

04

十進位轉字符串

如果只是單個十進位轉字符串,使用sprintf函數就可以了。

如果是十進位數組:

效果:十進位數組"13 14"轉為字符串"1314"。

05

u8、u32轉換

舉個例子,ASCII碼。

這裡寫圖片描述:字符『A』 , 一個字節8bit ,即u8十六進位為0x41二進位為"0100 0001"。

而對應的十進位為65,4個字節32bit,即u32十六進位為0x41二進位為"0000 0000 0000 0000 0000 0000 0100 0001"。

(1)將u32數轉換成u8數組

注意:這裡是字符數組,不是字符串;字符串是以空字符(\0)結尾的char數組。

效果:整型 50 轉字符數組 {『\0』,』\0』,』\0』,』2』}。

(2)u8數組轉u32

效果:字符數組 {『\0』,』\0』,』\0』,』2』}轉為整型 50。

06

大端小端

STM32默認是小端模式,那麼該如何轉為大端?

代碼實現:

效果:len為數據類型為u16(short),比如0x11 0x22,轉為u8(usigned char)數組。

相關焦點

  • C 語言之進位轉換
    C語言進位轉換學不會,看了這個教程,你還算是學不會的話
  • 二進位、十進位、八進位、十六進位間的相互轉換函數
    二進位、十進位、八進位、十六進位間的相互轉換函數1、輸入任意一個十進位的整數,將其分別轉換為二進位、八進位、十六進位。{int num;char a[39];//定義一個字符數組,用於存儲字符串cout<<"Entre num:"<<endl;cin>>num;cout<<"二進位
  • 二進位-八進位-十進位-十六進位之間的相互轉換
    10年前,在大學裡學習了數字電路,課本中講到了進位之間的相互轉換,最近用到數字晶片74HC125,涉及到TTL-CMOLS
  • Python 進位轉換
    提到進位轉換這裡需要了解int()這個內置函數,大多數人都會這樣用:int(x)其目的一般是將x字符串轉化為整數,int()除了這個作用外,還可以將其他進位數轉化為十進位數,Python內置函數官方文檔
  • C語言實現任意進位轉換代碼及解析
    問題分析掌握不同數制間的轉換關係是解決問題的關鍵,這裡所說的數制一般包括二進位、八進位、十六進位及十進位。除了不同的數制還有下面幾個必須要了解的概念。基數:在一種數制中,只能使用一組固定的數字來表示數的大小,這組固定的數字的個數就稱為該計數制的基數(Base)。例如十進位的基數為10,二進位的基數為2等。
  • 學校裡學不到的C語言教程之10:一定要會的移位和16進位轉換原理
    我剛入行的時候也是如此,一來是移位的運算結果需要轉換成二進位後再能校驗運算結果是否正確,二是不同的數據類型移位的操作結果並不是唯一的。不過我們這次要說的移位操作比較簡單,也比較重要。這種算法在編碼/解碼過程中是經常會碰到的,那就是8位單字節數據的移位結果。它的實際用途可以用常見的字節內容顯示為16進位字符串的算法來做個示例。
  • C語言閱讀題中的進位轉換
    C語言閱讀題中的進位轉換近期做了一道閱讀題,裡面涉及十進位,二進位,八進位,十六進位的轉換。這是每年春考必考的題目。
  • 常用的二進位與八進位-十進位-十六進位之間的轉換
    為多數'''# 十進位# 十進位轉二進位:倒除法、餘數逆序# 十進位數19轉換為二進位數,每次除於2,餘數放一旁,得二進位數時從下往上取# 轉換為二進位為 10011a = 19# 倒除法轉換print(        2|19    #餘數         -
  • C# 16進位轉換10進位相關函數詳解
    C# 16進位轉換10進位相關函數詳解 在C#中可以對整型運算對象按位進行邏輯運算,同時也可以實現C# 16進位轉換10進位,C#10進位轉換2進位等功能。
  • 一大波 Excel 進位轉換函數來襲,二、八、十、十六進位互轉
    偶然看到某些「老師」教十進位轉二進位,寫了好幾行的巨複雜公式,看得我尷尬癌都犯了。愚公移山精神固然可嘉,但方法絕不可取,若還把此作為「正確方法」傳播,那就是誤人子弟,應該批判了。Excel 中明明有專門的進位轉換函數,但是連很多所謂的「老師」都不知道,所以才會出現自創公式的烏龍。我今天把各種進位轉換函數都給大家講一講,如果記不住的同學可以先收藏,要用的時候查看一下就行。
  • C語言常用的一些轉換工具函數!
    :0x13 0xAA 0x02轉為字符串:」13AAA2」3、字符串轉十進位代碼實現:第一種,如果帶負號 這個就是atoi函數的實現:int my_atoi(const char *str){    int value = 0;    int flag = 1;
  • JS十進位轉換二進位
    最近因為需求,要接觸到前端JS的一些東西,遇到需要把十進位數字轉換為二進位,並且補全對應位數,覺得蠻有趣的,所以把它記錄下來。十進位轉二進位方法其實很簡單,一個函數搞定了:var value = parseInt(12).toString(2);//parsetInt裡面是要轉換的數字,toString裡面是要轉換的進位,//如果要轉換為其他進位,替換掉就好了,so easy。
  • C語言實現十進位轉2~16進位、十六進位轉十進位
    1、十進位轉2~16進位【問題描述】從鍵盤輸入十進位整數num及轉換的進位數base,將整數num轉換為base進位(base方法為:十進位數除base取餘法,即十進位數除以base,餘數為權位上的數,得到的商值繼續除以base,依此步驟繼續向下運算直到商為0為止。
  • 關於二進位、十進位、八進位、十六進位數據轉換計算方法詳細總結
    下面在安靜的音樂中,讓我們開始學習吧在我們接觸編程知識時,總會接觸有關進位轉換的知識,最常見的就是10進位與二進位或十六進位之間的轉換,很多時候我們總會遺忘,雖然現在也出現了很多可以直接使用的網絡在線的進位轉換工具,但考試中,我們就要靠自己通過公式進行運算了。
  • 一文幫你詳細圖解二進位、八進位、十進位、十六進位之間的轉換
    :SQL Server 進位轉換函數,其實它是基於二、八、十、十六進位轉換的計算公式的,進位之間的轉換是很基礎的知識,但是我發現網絡上沒有一篇能把它說的清晰、簡單、易懂的文章,所以我才寫這篇文章的念頭,希望能讓你再也不用擔心、害怕進位之間的轉換了。
  • MATLAB數據進位轉換
    MATLAB中,數據的運算、讀取和存儲過程有時會涉及到進位的轉換。不了解進位轉換方法的話會非常惱火。1、單個數據轉換比如我們想知道一個十進位數的二進位表示,來看具體的位置1還是0.這時可以用dec2bin函數。
  • C語言常用的6種轉換工具函數
    :0x13 0xAA 0x02轉為字符串:」13AAA2」3、字符串轉十進位代碼實現:第一種,如果帶負號 這個就是atoi函數的實現:int my_atoi(const char *str){    int value = 0;    int flag = 1;
  • python進位轉換:十進位轉二進位的用法
    我們在學習python時候肯定會碰到關於進位轉換,其實這是非常簡單的,這個就像小學學習數學乘法口訣意義,只要記住轉換口訣即可輕鬆應用,一起來看下具體的操作內容吧~一、python進位轉換dec(十進位)—> bin(二進位)dec(十進位)—> oct(八進位)dec(十進位)—> hex(十六進位)二、十進位我們所熟知的十進位,其實是從 0 開始,數到 9 之後,就跳到
  • BASIC-12十六進位轉換為八進位
    輸出格式輸出n行,每行為輸入對應的八進位正整數。【注意】輸入的十六進位數不會有前導0,比如012A。輸出的八進位數也不能有前導0。樣例輸入239123ABC樣例輸出714435274【提示】先將十六進位數轉換成某進位數,再由某進位數轉換成八進位。解答:該題思路比較簡單,將輸入的若干16進位數轉換為2進位,再將每三位2進位數轉換為一個八進位數即可。
  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    3、十六進位數的位權表示:(109.13)16=1x 162+0x161+9x 160+1x16-1 +3x 16-2(2FDE)16=2x 163+15x 162+13x 161+14x 160六、常用計數制間的對應關係二進位數、八進位數、十六進位數及十進位數是現代數字系統中常用的四種數制