關(guān)于C++中數(shù)據(jù)16進(jìn)制輸出的方法
在我們進(jìn)行串口編譯時,往往要用到串口數(shù)據(jù),串口數(shù)據(jù)多是16進(jìn)制的0x16表示。在運(yùn)算過程中,我們得到的數(shù)據(jù)往往是10進(jìn)制,那么怎么將10進(jìn)制的數(shù)據(jù)轉(zhuǎn)換成16進(jìn)制呢?我在網(wǎng)上搜了很多種方法,最后在我導(dǎo)師的建議下使用了一種最最簡單的方法,供大家參考。
比如我們得到一個數(shù)據(jù):
double b = 123456789.987;
因?yàn)槲乙褂玫氖瞧湔麛?shù)部分,所以對w進(jìn)行數(shù)據(jù)轉(zhuǎn)換:
__int64 B = __int64(b);
我們就得到了64位整型的w1,接下來我們要將w1以0x16進(jìn)制的形式插入到一個數(shù)組中:
unsigned char A[46] = { 0x12, 0xAB, 0x34, 0xCD};
因?yàn)?,B是以16進(jìn)制儲存在電腦里的,所以我們采用直接移位的方式,進(jìn)行插入,比如我要將B以4個字節(jié)的形式插入到A后:
A[4] = (B >> 24) & 0xFF; A[5] = (B >> 16) & 0xFF; A[6] = (B >> 8) & 0xFF; A[7] = (B >> 0) & 0xFF;
整體代碼如下:
#include<stdio.h> int main() { double b = 123456789.987; __int64 B = __int64(b); unsigned char A[46] = { 0x12, 0xAB, 0x34, 0xCD }; A[4] = (B >> 24) & 0xFF; A[5] = (B >> 16) & 0xFF; A[6] = (B >> 8) & 0xFF; A[7] = (B >> 0) & 0xFF; for (int i = 0; i < 8; i++) { printf("%02X ", A[i]); } return 0; }
運(yùn)行結(jié)果如下:
到此這篇關(guān)于關(guān)于C++中數(shù)據(jù)16進(jìn)制輸出的方法的文章就介紹到這了,更多相關(guān)C++ 16進(jìn)制輸出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實(shí)現(xiàn)中綴轉(zhuǎn)后綴的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)中綴轉(zhuǎn)后綴的問題,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-09-09C語言數(shù)據(jù)結(jié)構(gòu)之二叉樹的非遞歸后序遍歷算法
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之二叉樹的非遞歸后序遍歷算法的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10C語言開發(fā)實(shí)現(xiàn)通訊錄管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語言開發(fā)實(shí)現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-08-08c語言中的局部跳轉(zhuǎn)及全局跳轉(zhuǎn)功能
本文介紹了C語言中的goto語句,以及如何使用setjmp和longjmp實(shí)現(xiàn)跨函數(shù)的跳轉(zhuǎn),詳細(xì)講解了setjmp和longjmp的使用方法和注意事項(xiàng),以及使用這種全局跳轉(zhuǎn)后變量狀態(tài)的不確定性,感興趣的朋友一起看看吧2024-09-09統(tǒng)計C語言二叉樹中葉子結(jié)點(diǎn)個數(shù)
這篇文章主要介紹的是統(tǒng)計C語言二叉樹中葉子結(jié)點(diǎn)個數(shù),文章以C語言二叉樹中葉子結(jié)點(diǎn)為基礎(chǔ)分享一個簡單小栗子講解,具有一定的知識參考價值,需要的小伙伴可以參考一下2022-02-02C語言實(shí)現(xiàn)歌曲信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)歌曲信息管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01純c語言實(shí)現(xiàn)面向?qū)ο蠓治雠c示例分享
采用C語言實(shí)現(xiàn)的關(guān)鍵是如何運(yùn)用C語言本身的特性來實(shí)現(xiàn)多態(tài)、繼承面、封裝的面向?qū)ο蟮奶卣?最近給出了例子,大家可以參考使用2014-01-01