日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何将四个一字节的数转换为一个四字节数

發(fā)布時間:2025/7/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何将四个一字节的数转换为一个四字节数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????? 最近在研究圖像顯示這塊,想在/dev/graphics/fb0上顯示圖像,在研究時需要一個圖片的十六進制數(shù)值,找了好久,找了一個軟件可以實現(xiàn)該功能。

??? Img2Lcd.exe 這個軟件可以實現(xiàn),一張圖片轉(zhuǎn)換后的結(jié)果如下:

const unsigned char gImage_1233[128640] = { /* 0X00,0X20,0XF0,0X00,0X86,0X00,0X00,0XE4, */ 0X5D,0X31,0X12,0X00,0X5D,0X31,0X12,0X00,0X5D,0X31,0X12,0X00,0X5D,0X31,0X0F,0X00, 0X5E,0X31,0X10,0X00,0X5D,0X2E,0X12,0X00,0X5D,0X2F,0X11,0X00,0X5E,0X31,0X0F,0X00, 0X62,0X33,0X14,0X00,0X64,0X36,0X16,0X00,0X67,0X39,0X17,0X00,0XA3,0X42,0X02,0X00, 0XA4,0X42,0X02,0X00,0XA4,0X42,0X02,0X00,0XA4,0X41,0X03,0X00,0XA7,0X42,0X03,0X00, 0XA3,0X42,0X06,0X00,0XA5,0X44,0X02,0X00,0XAB,0X41,0X04,0X00,0XA7,0X44,0X03,0X00, 。。。。};

看到了嗎?是char類型的,可是我要的是int類型的,可惜這個軟件沒有這個功能,如何是好呢。于是自己寫了個簡單的文件操作代碼,在這個轉(zhuǎn)換基礎(chǔ)之上轉(zhuǎn)換在做處理,代碼如下:

1 /************************************************************************* 2 > File Name: main.c 3 > Author: winfu 4 > Mail: wenfuandyou@163.com 5 > Created Time: Thu 07 Jul 2016 10:08:36 AM CST 6 ************************************************************************/ 7 #include<stdio.h> 8 #include<string.h> 9 #include <sys/types.h> 10 #include <sys/stat.h> 11 #include <fcntl.h> 12 13 int main() 14 { 15 int fd1 = open("./file.txt",O_RDWR); 16 int fd2 = open("./file_bak.txt",O_CREAT|O_WRONLY,0666); 17 int num; 18 if(fd1 < 0 || fd2 < 0) 19 { 20 perror("open"); 21 return -1; 22 } 23 ssize_t res = 1; 24 char buf4[4] = {0}; 25 char buf2[2] = {0}; 26 int i = 0; 27 char c = ','; 28 char cn = '\n'; 29 printf("------------\n"); 30 do{ 31 i++; 32 res = read(fd1,buf4,sizeof(buf4)); 33 printf("%s",buf4); 34 write(fd2,buf4,sizeof(buf4)); 35 36 lseek(fd1, 3,SEEK_CUR); 37 res = read(fd1,buf2,sizeof(buf2)); 38 printf("%s",buf2); 39 write(fd2,buf2,sizeof(buf2)); 40 41 lseek(fd1, 3,SEEK_CUR); 42 res = read(fd1,buf2,sizeof(buf2)); 43 printf("%s",buf2); 44 write(fd2,buf2,sizeof(buf2)); 45 46 lseek(fd1, 3,SEEK_CUR); 47 res = read(fd1,buf2,sizeof(buf2)); 48 printf("%s\t",buf2); 49 write(fd2,buf2,sizeof(buf2)); 50 write(fd2,&c,1); 51 lseek(fd1, 1,SEEK_CUR); 52 num++; 53 if(i==4) 54 { 55 i = 0; 56 printf("\n"); 57 write(fd2,&cn,1); 58 lseek(fd1, 1,SEEK_CUR); 59 } 60 }while(res); 61 printf("------------\n"); 62 printf("num = %d\n",num); 63 close(fd1); 64 close(fd2); 65 return 0; 66 }

將轉(zhuǎn)Img2Lcd.exe轉(zhuǎn)換好的文件去掉頭尾 存放到file.txt文檔中,將file文檔放在該程序的路徑下,最后生成file_bak.txt,該文件存放的是轉(zhuǎn)換后的數(shù)據(jù):

0X5D311200,0X5D311200,0X5D311200,0X5D310F00, 0X5E311000,0X5D2E1200,0X5D2F1100,0X5E310F00, 0X62331400,0X64361600,0X67391700,0XA3420200, 0XA4420200,0XA4420200,0XA4410300,0XA7420300, 0XA3420600,0XA5440200,0XAB410400,0XA7440300, 0XA9440300,0XAC420500,0XA9440300,0XA8440300, 0XA9450400,0XA3460400,0XAC460500,0XA9450900 ….

這個數(shù)據(jù)正好是我想要的4字節(jié)。

  

轉(zhuǎn)載于:https://www.cnblogs.com/winfu/p/5650829.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的如何将四个一字节的数转换为一个四字节数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。