本文介紹了一種shell指令碼,用來處理十進位制數轉換成十六進製制的方法。現有兩個資料檔案i0.txt和q0.txt,資料如下:
i0.txt q0.txt
935 3297
385 6964
-280 12697
1768 8404
7377 -852
#!bin/bash
#因為有負數,所以先轉換成16位十六進製制數 %16x
cat i.txt | \
awk '' > i00.txt
cat q.txt | \
awk '' > q00.txt
#我需要的是i0.txt和q0.txt十進位制數對應的4位十六進製制數,取有效的4位
cut -c 13-16 i00.txt > i_mem.txt
cut -c 13-16 q00.txt > q_mem.txt
#不足4位的,前面補0
cat i_mem.txt | \
awk '' > i_mem_00.txt
cat q_mem.txt | \
awk '' > q_mem_00.txt
#將兩個檔案(各4位)組成8位十六進製制數
paste -d ":" i_mem_00.txt q_mem_00.txt > rfiu_mem_00.txt
sed 's/ ://g' rfiu_mem_00.txt > rfiu_mem.txt
#中間資料如下:
i00.txt q00.txt
3a7 ce1
181 1b34
ffffffffffffa1f 3199
6e8 20d4
1cdc fffffffffffffcac
i_mem.txt q_mem.txt
3a7 ce1
181 1b34
fa1f 3199
6e8 20d4
1cdc fcac
i_mem_00.txt q_mem_00.txt
03a7 0ce1
0181 1b34
fa1f 3199
06e8 20d4
1cdc fcac
rfiu_mem.txt
03a70ce1
01811b34
fa1f 3199
06e820d4
1cdcfcac
注:可能這個方法不是最精簡的,如有更好的方法請高手指點一二,不勝感激。
m進製轉十進位制
題目描述 description 將m進製數n轉化成乙個十進位制數 m 16 題目保證轉換後的十進位制數 100 輸入描述 input description 共一行n和m 輸出描述 output description 共乙個數 表示m進製的n化成十進位制的數 樣例輸入 sample input ...
大資料十進位制轉32進製
大資料進製轉換,先轉出十六進製制 參考網上例子 再轉成二進位制,再轉成32進製 include stdio.h include stdlib.h include string.h const char s32bit const 32 char strrev char s t 與t 抵消 t 回跳過結...
十六進製制轉十進位制
create function fn hextobinary hex varchar 8 returns varchar 255 asbegin declare base tinyint declare string varchar 255 declare return varchar 255 de...