c語言將十進制數轉換為16進制的函數:
成都創新互聯一直在為企業提供服務,多年的磨煉,使我們在創意設計,成都全網營銷到技術研發擁有了開發經驗。我們擅長傾聽企業需求,挖掘用戶對產品需求服務價值,為企業制作有用的創意設計體驗。核心團隊擁有超過十多年以上行業經驗,涵蓋創意,策化,開發等專業領域,公司涉及領域有基礎互聯網服務成都服務器托管、app開發定制、手機移動建站、網頁設計、網絡整合營銷。
#includestdio.h
main()
{
int u10;
char u16[10];
int w=0,a,b,i;
printf("請輸入一個數字--");
scanf("%d",u10);
if(u10==0)
{
u16[0]='0';
w++;
}
else
{
a=u10;
while(a)
{
b=a%16;
if(b10)
{
u16[w]='0'+b;
}
else
{
u16[w]='A'+b-10;
}
a=a/16;
w++;
}
}
printf("\n");
printf("%d(10)轉換為16進制數字為:",u10);
for(i=w-1;i=0;i--)
{
printf("%c",u16[i]);
}
printf("\n");
}
擴展資料:
十進制數轉換為二進制數方法
十進制數轉換為二進制數時,由于整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換后,再加以合并。
1. 十進制整數轉換為二進制整數 十進制整數轉換為二進制整數采用"除2取余,逆序排列"法。具體做法是:用2去除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為零時為止,然后把先得到的余數作為二進制數的低位有效位,后得到的余數作為二進制數的高位有效位,依次排列起來。
2.十進制小數轉換為二進制小數
十進制小數轉換成二進制小數采用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘余下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。
然后把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,后取的整數作為低位有效位。
參考資料:
百度百科-十進制
這幾種方式都是在表達同1個意思,沒有區別。
typedef unsigned? ? ? ? ? ? ? char? ? ? ?uint8_t;
typedef unsigned short? ? ?int? ? ? ? ?uint16_t;
typedef unsigned? ? ? ? ? ? ? int? ? ? ? ?uint32_t;
typedef unsigned? ? ? ? ? __int64? ? ?uint64_t;
代碼示例:
voidTIM3_Int_Init(u16arr,u16psc)
{
//dosomething...
}
擴展資料
u8,u16,u32的使用
示例:
#defineU32? unsignedint
#defineU16? unsignedshort
#defineS32? int
#defineS16? shortint
#defineU8? unsignedchar
#defineS8? char
unsignedchar=u8
unsignedshortint=u16
unsignedlongint=u32
buf[1] 是高八位 ,buf[0] 低八位
buf[1]左移八位 + buf[0] ,合并成一個16位
t和len兩個變量,都應該定義成u16。
這是因為USART_RX_STA0x3fff的計算結果最多需要14個bit,u8只有8bit,在大長度的時候會有問題。
如果寫程序的人知道長度不超過8bit,那么用u8是可以的。不應該這樣編寫程序。
當前題目:c語言u8轉成u16函數 c語言u8什么意思
標題來源:http://m.kartarina.com/article40/hgjjeo.html
成都網站建設公司_創新互聯,為您提供App開發、外貿網站建設、App設計、網站導航、關鍵詞優化、網站策劃
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯