前言:整數(shù)轉(zhuǎn)16進制字符串,網(wǎng)上大部分的資料都是要傳入16進制字符串的位數(shù),有點麻煩。本文介紹的方法自動確定返回的字符串的位數(shù),位數(shù)為最小偶數(shù)。偶數(shù)位方便使用時轉(zhuǎn)成字節(jié)數(shù)組(unsigned char[]),這樣就可以傳輸了。

一、16進制字符串轉(zhuǎn)整型?
int hexStrToInt(string hexStr)
{
return stoi(hexStr, 0, 16);
}二、整型轉(zhuǎn)16進制字符串
string intToHexStr(int mask) {
// 最終16進制字符串長度為偶數(shù)
int hexLen = 0;
if (mask >INT_MAX) {
return "00";
}
// 根據(jù)數(shù)值的大小決定16進制字符串的個數(shù)
for (int i = 2; i<= 6; i += 2) {
string hex = "";
for (int j = 0; j< i; j++) {
hex += "F";
}
if (mask<= hexStrToInt(hex)) {
hexLen = i;
break;
}
}
// 最長8位, INT_MAX = 2147483647, 16進制字符串為:7FFFFFFF
if (hexLen == 0) {
hexLen = 8;
}
//16進制字符集
string hexes[16] = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
string hexstring = "";
for (int i = 0; i< hexLen; i++){
int j = hexLen - i - 1;
// 按順序取4bit數(shù)
int number = (mask >>4 * j) & 0xf;
hexstring += hexes[number];
}
return hexstring;
}整型轉(zhuǎn)16進制字符串有參考這篇文章:2021.9.9 解決c++整數(shù)轉(zhuǎn)化為16進制字符串問題_MoonByulStar的博客-博客_c++整型轉(zhuǎn)16進制?
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
分享標(biāo)題:C++整型轉(zhuǎn)16進制字符串或16進制字符串轉(zhuǎn)整型-創(chuàng)新互聯(lián)
本文鏈接:http://www.chinadenli.net/article8/djdoop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、企業(yè)建站、微信小程序、靜態(tài)網(wǎng)站、網(wǎng)站營銷、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容