c 十六進製制加法 C 十六進製制巨集的用法

2021-10-13 02:00:16 字數 1845 閱讀 2576

流行的用法:用二進位制的每一位代表一種狀態。

001,010,100這樣就表示三種狀態。

通過或|運算就可以組合各種狀態。

001 | 010 = 011

001 | 010 | 100 = 111

通過與&運算可以去除某種狀態。

111 & 001 = 110

可以定義這樣的巨集組合成函式的引數

#define p1 0x001l // 001

#define p2 0x002l // 010

#define p3 0x004l // 100

void func(long){}

func(p1 | p2);

可以這樣判斷某位是否是1

由於001與***只有兩種狀態000或001

比如001&100=000,001&101=001

void func(long l) // 001與xx0 = 000,001與xx1 = 001

if(l&p2){} //

下面我用調料為例寫段**直觀說明:

#include 

#include 

using namespace std;

#define tl_yan       0x001l //00001 鹽

#define tl_tang      0x002l //00010 糖

#define tl_jiangyou  0x004l //00100 醬油

#define tl_cu        0x008l //01000 醋

#define tl_lajiao    0x010l //10000 辣椒

typedef long long;

//調料void tiaoliao(long l)

if (l&tl_yan)//00001 & ***x1 = 00001    ;

qbytearray array(c);

qdebug() <

1、將十六進製制字串轉化為十進位制整數

word dec( cstring str )

word decvalue=0;

int i=0;

for( i=0 ; i

if(str[i]>= 'a'&&str[i]<='f')

decvalue*=16;

decvalue+=str[i]-'f'+15;

else if ((str[i]>='a') && (str[i]<='f')) date;

在結構中,日期資料占用最低5位,月份占用4位,年占用14位。這樣整個日期資料只需占用23位,即3個位元組。忽略第24位。如果用整數來表達各個域,整個結構要占用12個位元組。

|   0   0   0   0   0   0   0   0   |   0   0   0   0   0   0   0   0   |   0   0   0   0   0   0   0   0   |

+-------------   year   --------------+   month+--   day   --+

現在分別看看在這個結構宣告中發生了什麼

首先看一下位域結構使用的資料型別。這裡用的是byte。1個byte有8個位,編譯器將分配1個byte的記憶體。如果結構內的資料超過8位,編譯器就再分配1個byte,直到滿足資料要求。如果用word或dword作結構的資料型別,編譯器就分配乙個完整的32位記憶體給結構。

其次看一下域宣告。變數(day,   month,   year)名跟隨乙個冒號,冒號後是變數占用的位數。位域之間用逗號分隔,用分號結束。

date.day   =   12;

dateptr   =   &date;

dateptr->year   =   1852;

三十六進製制加法

暴力轉換,就是把兩個36進製的數轉換成10進製,如何用10進製進行加減,最後再轉化成36進製,這種比較簡單就不再展示 重點講解第二種直接用36進製進行相加。看 有注釋 public class jinzhizhuanhuan aslist的返回物件是乙個arrays內部類,並沒有實現集合的修改方法,...

Excel輸入十六進製制數,以及十六進製制運算

網上覆制來複製去的連個靠譜答案都沒有.f k 所以無奈自己探索出來了 單元格 a1文字值 a2進製值 輸入內容 fefe oct2hex hex2oct a29 由於單元格沒有提供進製格式,所以填入的值實際上是文字值,但是轉換函式卻可以把文字值視為進製值拿去轉換 所以我們兩次轉換就能得到真正的進製數...

c 十六進製制加法 16進製制數之間的加法

十六進製制 1.數碼 0.1.2 9.a.b.c.d.e.f.其中 十六進製制數碼 a b c d e f 十進位制數值 10 11 12 13 14 15 基數 16 2.計數規則 逢十六進一 借一當十六 3.按權展開式 按權展開每上十六進製制數.例 4e6c 4 16 3 e 16 2 6 16...