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

2022-01-29 05:16:22 字數 1035 閱讀 4615

網上覆制來複製去的連個靠譜答案都沒有...f**k

所以無奈自己探索出來了

單元格:

a1文字值

a2進製值

輸入內容:

'fefe

=oct2hex(hex2oct(a29))

由於單元格沒有提供進製格式,所以填入的值實際上是文字值,但是轉換函式卻可以把文字值視為進製值拿去轉換(所以我們兩次轉換就能得到真正的進製數了)

進製轉換後再運算,如需把a28格和b28格作為十六進製制相加,則需   分別使用16->8後,再相加兩個8進製,再把結果8->16

=oct2hex(

hex2oct(a28)+hex2oct(b28))

基於進製計算原理,整數可以放心用16 8 10 2進製隨便互轉,因為都是無損轉換為2進製再轉回16、8或10

但是分數\小數方面只有2 8 16能無損互轉,10進製轉其他可能有精度損失。詳見:十六進製制,十進位制,八進位制,二進位制轉換(含小數部分)

整數計算最好用十進位制,原因如圖:

注意:盡量不要轉為二進位制,因為excel裡二進位制範圍僅僅為9位,也就是十進位制的 -512~511

#num! 代表數字錯誤,但不一定是值域問題

其他進製數值域未測試,但是

我猜:

值域範圍(我猜的)    hex > dec > oct > bin

補充資料:如何利用excel解析16進製制字串

輸入十進位制數,輸出十六進製制

寫了兩種演算法,還算比較簡潔,貼上在此。第一種演算法,從低位到高位掃瞄移位,需要乙個陣列輔助倒序,一次性輸出結果 include define max hex num 16 define out data len sizeof int 2 2個16進製制數表示1個位元組 static char he...

進製轉換 十六進製制轉八進位制 十六進製制轉十進位制

在十六進製制轉為八進位制的過程中包含了將十六進製制轉化為二進位制以及將二進位制轉化為八進位制!我自己測試是沒什麼問題,但是在藍橋杯官網的測試系統就顯示執行錯誤qwq 不知道為什麼 附 include includeusing namespace std int main if len2 i 3 2 ...

十六進製制位元組 十六進製制轉二進位制

做專案也將近一年的時間了。從一開始就經常提到 乙個十六進製制位元組 然而一開始就是迷惑的,直到現在。乙個十六進製制位元組,比如 ff。周圍的人經常說這是乙個十六進製制位元組。然後我就想,這不是兩個字元嗎,分別是f 和f,乙個字元是乙個位元組,兩個字元是兩個位元組,怎麼就成乙個十六進製制位元組,就成乙...