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

2020-12-12 騰訊網

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)數組。

相關焦點

  • 大話二進位,八進位,十進位,十六進位之間的轉換
    還是和往常一樣,吃著抄手,討論著我們最近都在公司做什麼項目,一次無意的談話,他問我知道什麼是二進位麼,我說知道,他接著問,你知道怎麼用嗎,我說不知道,難道不會用二進位,還不能寫代碼了麼?說了這麼多畢竟丁大叔,還是那麼牛逼,只怪自己學而不精嘛,於是有了這篇文章。
  • 單片機進位轉換
    今天我就給大家講講與計算機有關的「進位轉換」問題。   我們以(25.625)(十)為例講解一下進位之間的轉化問題。 1. 十 > 二  給你一個十進位,比如:6,如果將它轉換成二進位數呢?比如要轉換6為二進位數。   「把要轉換的數,除以2,得到商和餘數」。   那麼:   要轉換的數是6, 6 ÷ 2,得到商是3,餘數是0。 (不要告訴我你不會計算6÷2!)
  • C/C+編程筆記:C語言進位詳解,二進位、八進位和十六進位!
    進行加法運算時逢X進一(滿X進一),進行減法運算時借一當X,這就是X進位,這種進位也就包含X個數字,基數為X。十進位有 0~9 共10個數字,基數為10,在加減法運算中,逢十進一,借一當十。 在計算機內部,數據都是以二進位的形式存儲的,二進位是學習編程必須掌握的基礎。本節我們先講解二進位的概念,下節講解數據在內存中的存儲,讓大家學以致用。
  • 經緯度十進位與六十進位轉換
    1、(六十進位)度分秒轉換為十進位=ROUND(LEFT(D3,FIND("°",D3)-1)+(MID(D3,FIND("′",D3)+1,FIND("″",D3)-FIND("′",D3)-1)/60+MID(D3,FIND("°",D3)+1,FIND("′"
  • 問1得10:shell十進位轉換到任意進位,多大事兒,一行搞定!
    我是@程式設計師小助手Rman,僅次於Xman,Ironman,Superman。引言引言Bash編程中,我們一般不需要把字符串格式化為十六進位。因為,十進位是給人類看的,而16進位則用於存儲到計算機。本文通過編程實踐中所遇到的困難,引出進位轉換的問題。然後給出解決方案。其中,格式化字符串,所用的元字符非常有用。問題有一個小哥在編程過程中,產生了一個疑問,他說,把十六進位的數值轉換為十進位,似乎很容易。只用下面這個公式。
  • 小白基礎知識必備|整型常量與進位間的轉換
    一、C語言關鍵字C語言的關鍵字共有32個,根據關鍵字的作用,可分為數據類型關鍵字、控制語句關鍵字、存儲類型關鍵字和其它關鍵字四類。如:num1 = 0x123;注意:C語言常量當中沒有二進位編寫整型常量的時候可以在後面加上符號L或者U修飾,L表示該常量是長整型、U表示該常量是無符號整型,既可使用大寫,又可使用小寫。
  • 學員問:C語言入門要掌握哪些基礎知識?
    01C語言程序的結構認識用一個簡單的c程序例子,介紹c語言的基本構成、格式、以及良好的書寫風格,使小夥伴對c語言有個初步認識。2、main()——在c語言中稱之為「主函數」,一個c程序有且僅有一個main函數,任何一個c程序總是從main函數開始執行,main函數後面的一對圓括號不能省略。3、被大括號{ }括起來的內容稱為main函數的函數體,這部分內容就是計算機要執行的內容。
  • 圖解css表示顏色的4種方式:顏色名稱、十六進位值、rgb和hsl函數
    今天我們就來講解一下css中4種基本的表示顏色的方式,它們分別是:顏色的英文名稱、十六進位顏色值、rgb顏色函數和hsl顏色函數。1.十六進位顏色值十六進位顏色值形如#ff00cc這樣,它以井號(#)開頭且後面跟著6個十六進位的數字;它的含義建立在RGB顏色模式之下。
  • C語言丨關於位運算的使用,只需掌握這4個簡單示例!
    位運算是指按二進位進行的運算。在系統軟體中,常常需要處理二進位位的問題。C語言提供了6個位操作運算符。這些運算符只能用於整型操作數,即只能用於帶符號或無符號的char,short,int與long類型。
  • C語言數據類型思維導圖怎麼製作
    使用思維導圖來梳理各個數據類型是一個很有效的記憶方法,接下來就為大家展示一下我用iMindMap製作的關於C語言基本數據類型的思維導圖。一、整型1.整型類型圖片3:整數溢出4.輸入和輸出整型數據的輸入和輸出主要是數據的轉換,對於十進位整數,可以直接使用%d轉換;對於無符號整數
  • 二進位小總結
    Java中的基本數據類型在計算機程式語言中都會有數據類型的概念,數據類型是用來修飾變量的。不同數據類型所修飾的變量,其指代的數據在內存中佔用空間的大小(基本類型變量使用的空間、指針或引用變量指向的地址空間等,後面簡單稱數據類型佔用的內存空間)是固定的。即使在一些弱類型語言中,雖然變量可以不用顯示地聲明數據類型,但當第一次為變量賦值時,還是會隱式地為其附上數據類型屬性。
  • 使用Swing製作進位轉化器
    進位轉化1.各進位之間的轉化在計算機科學中,常用的進位有二進位、八進位、十進位和十六進位。在開發過程中使用比較多的是二進位和十進位的。如果涉及一些字節編碼操作,十六進位也會用得到,甚至可能會用到三十二進位。1.1 十進位向其它進位轉化以正常的十進位數為標準,如果將一個十進位數轉化成二進位數。可以使用除法取餘的方式進行,在下圖中我們用二進位和八進位進行舉例:
  • 16進位顏色表示與RGB色彩模型——零基礎自學網頁製作
    十六進位是什麼?說到"進位",大部分沒有數學基礎的小夥伴會比較陌生,如果您是計算機愛好者,也會對"二進位"耳熟能詳。如果想了解16進位,還需要從我們最常用的10進位說起。10進位的意思,通俗來說就是數數到10就要向前進一位。比如9完了之後是10,11.....
  • 如何讓文科女朋友輕鬆認識二進位數?
    進位即進位制。進位制是一種計數方式,可以用有限的記數符號代表所有的數值。我們常用的進位包括:二進位、八進位、十進位與十六進位,它們之間區別在於數運算時是逢幾進一位。比如我們常用的十進位就是由數字0-9組成,逢十進一位。同理,二進位數是用0和1兩個數碼來表示的數,它的基數為2,則逢二進一位。
  • ...和選擇了「二進位」這個開啟人類社會數位化信息化大門的金鑰匙?
    在二進位研究方面,萊布尼茨首次發明二進位與十進位的轉換和二進位算術運算法則,促進了二進位算術的公開傳播,他的研究標誌著二進位算術正式創立。歷史上,二進位最早來源於《周易》八卦?還是萊布尼茨的創造?還是萊布尼茨受《周易》啟發而提出?存在一定的爭論。
  • 零基礎看得懂的C語言入門教程
    當時正在念大學的我想著分享自己自學編程的經驗,搭建了一個社區(社區之後自己維護太懶,維護了一年不到關閉了)第一次編寫了C語言教程,分享自己的學習經驗。社區關閉後,於2017年上傳至了CSDN留存至今。 現在回過頭查看當時自己編寫的教程,由於當時技術的淺薄,編寫的教程還是存在很多的不足,故有了一個重新編寫C語言教程的想法。
  • C語言進階:《明解C語言:中級篇》重磅來襲!
    :問號符\\:反斜槓字符八進位轉義字符和十六進位轉義字符2-2 操縱時間clock函數:獲取程序啟動後經過的時間計算處理所需的時間暫停處理一段時間2-3 字幕顯示逐個顯示並消除字符strlen函數:查詢字符串的長度字幕顯示(從右往左)字幕顯示(從左往右
  • Excel的函數總結,小朋友們還不快點Collect起來!
    擴展資料:工程函數BESSELI返回經過修改的貝塞爾函數IN(X)BESSELJ 返回貝塞爾函數JN(X)BESSELK返回經過修改的貝塞爾函數KN(X)BESSELY返回貝塞爾函數YN(X)XLFCTBIN2DEC、BIN2DEC 將二進位數轉換為十進位數BIN2HEX 將二進位數轉換為十六進位數
  • 物聯網開發筆記——嵌入式開發之Linux系統中C程序的編譯與調試
    這種常用的使用技巧最早在1960年代末用於BCPL,編譯程序先編譯一個叫做「0代碼」的轉換程序(representation),然後再使用虛擬器轉換到可以運行於機器上的真實代碼。這種成功的技巧之後又用於Pascal和P-code,以及Smalltalk和二進位碼,雖然在很多時候,中間過渡的代碼往往是解譯,而不是編譯的。
  • 裸機開發步驟和工具使用
    版本:3.5安裝包:自己百度一下」source insight3.5」source insight常用設置:1.增加文件類型 options-->documents options中,將c source file的文件過濾設置為*.c;*.h;*.S2.新建項目(新建工程) project-->newproject