在st的官方例程中,看到幾個關於十六進製制和ascii碼關係判斷和轉換方面的巨集,我注釋了一下,儲存下來,供學習、複習、備查。
// 用ascii表示的十六進製制中的大寫字元嗎?
#define is_af(c) ((c >= 'a') && (c <= 'f'))
// 用ascii表示的十六進製制中的小寫字元嗎?
#define is_af(c) ((c >= 'a') && (c <= 'f'))
// 用ascii表示的數字嗎?
#define is_09(c) ((c >= '0') && (c <= '9'))
// 用ascii表示的有效的十六禁止數嗎?
#define isvalidhex(c) is_af(c) || is_af(c) || is_09(c)
// 用ascii表示的有效的十進位制數嗎?
#define isvaliddec(c) is_09(c)
// ascii轉換為十進位制數
#define convertdec(c) (c - '0')
// 字母(a-f 或 a-f)轉換為十六進製制數
#define converthex_alpha(c) (is_af(c) ? (c - 'a'+10) : (c - 'a'+10))
// 字元(0-9 或 a-f 或 a-f)轉換為十六進製制數
#define converthex(c) (is_09(c) ? (c - '0') : converthex_alpha(c))
ASCII碼十六進製制轉換表
ascii 表平時會經常用到,特轉一篇文章備用。所謂的ascii和16進製制都只是概念上的東西,在計算機中通通是二進位制 轉換應該是輸出的轉換,同樣是乙個數,在計算機記憶體中表示是一樣的,只是輸出不一樣 ascii是針對字元的編碼,幾乎是鍵盤上的字元的編碼。下面是一張ascii和16進製制的對應表 ...
進製轉換 十六進製制轉八進位制 十六進製制轉十進位制
在十六進製制轉為八進位制的過程中包含了將十六進製制轉化為二進位制以及將二進位制轉化為八進位制!我自己測試是沒什麼問題,但是在藍橋杯官網的測試系統就顯示執行錯誤qwq 不知道為什麼 附 include includeusing namespace std int main if len2 i 3 2 ...
進製轉換 二進位制轉十六進製制 十六進製制轉十進位制
這幾天在做乙個與plc互動的系統,plc會傳過來一些指令,這些指令是二進位制的格式,要轉為4位十進位制的指令來讀,下面是 部分 public class byteschange int beginindex 0 int length 16 string instructions while true...