合併兩個char到乙個char中,壓縮字串,當字串中的字母最大不超過 f 的時候,可以使本程式,程式很簡單,
使用移位,乙個char的高四位和第四位,可以分別儲存乙個char,這樣就做到了壓縮減半的作用,(實測過,**複製可直接執行)
#include
#include
int leng_num;
unsigned char change_num[100];//change
unsigned char compress_num2[100];//compress
char restore_num3[100];//restore
char src_ch[100] = "1234567890abcdef"; // src
void func_change(unsigned char *m_num,char *s_num)
}void func_compress(unsigned char *m_num,unsigned char *s_num)
}void func_restore(char *m_num,unsigned char *s_num)
for(i = 0; i < leng_num ;i++)
else
}
}int main()
*/func_change(change_num,src_ch);
func_compress(compress_num2,change_num);
func_restore(restore_num3,compress_num2);
//func_show(num3);
printf("\n%s\n",restore_num3);
/*
for(i = 0; i < strlen(ch) / 2;i++)
/*for(i = 0; i < strlen(ch) / 2;i++)
*//*
for(i = 0; i < strlen(ch) ;i++)
*/
4個char型合併為1個int型
上位機在與一些下位機通訊的時候,許多送上來的資料是char型的字串,下位機為了表示一些較大的資料,往往用多個char來表示,上位機需要對拿到的資料做轉換。比如送上來的資料是 0x11 0x22 0x33 0x44想表達的是 0x11223344對比較多的高階語言可能處理起來比較輕鬆,c處理起來會稍微...
定義char陣列時的乙個問題
今天遇到乙個有趣的關於在c中定義char變數時的乙個問題,程式大致如下 int main int t char ch t 32 t 1000 itoc 100,ch t 把100用二進位制字串顯示出來 printf 100 is s.n ch t printf t is d.n t void ito...
合併兩個byte
byte sshead system.text.encoding.unicode.getbytes this is head byte sscontent system.text.encoding.unicode.getbytes this is content.sshead sscontent b...