合併兩個char到乙個char中,壓縮字串

2021-08-29 03:57:43 字數 1008 閱讀 5856

合併兩個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...