將已知檔案中的二進位制資料轉換為十六進製制檔案,並將該十六進製制檔案的前節,以節為單位以小端序排列

時間 2022-05-17 08:10:07

1樓:金色潛鳥

pc/windows 預設就是小端序。

簡單地按位元組讀寫就可以了:

file *fin,*fout;

int i,n;

unsigned char c;

fin=fopen("a.txt","rb");

fout=fopen("b.txt","w");

for (i=0;i<16;i++)

fclose(fin);

fclose(fout);

***************

如果輸入是4位元組為單位的大端序,

unsigned char c[4]; 你一次讀入4個位元組,輸出時,按反序輸出為 c[3],c[2],c[1],c[0] 就可以了。

2樓:匿名使用者

題目源檔案格式描述不完全,字元表示的二進位制,還是傳統意義上的binary檔案?都是單位元組,何來大端小端轉化的參考?

輸出型別4位元組為單位的16進製制,應該指的是asc碼表示的字串,這種表示也是唯一的,譬如f1f2f3f5,他表示的就是0xf1f2f3f4, 並沒有大端或者小端的表示方法,只有存在於物理空間的多個機器二進位製碼,並賦予它實際意義的資料型別(比如short,long,float), 才有可能有大端小端的排序。

如果實在要解答,直接按順序轉化為文字輸出就可以了unsigned char szreadbuf[16];

//讀取16個位元組

for(int i=0; i < 16; i++)fprintf(fpoutput,"%02x", (int)szreadbuf[i]);

將二進位制檔案轉換為16進製制檔案的c++程式。怎麼執行不出結果啊。44.txt檔案中是二進位制數.f5.txt應該是16進

3樓:

將二進位制檔案轉換為16進製制檔案。

你的2進製和16進製制具體的格式知道嗎?

不知道是不能亂轉的。

比如,你的二進位制是個程式**,想轉成intel hex 格式檔案你必須知道 hex 格式檔案,和

二進位制格式檔案的詳細描述,才可以著手轉換;

並不是簡單的,把二進位制資料轉換成16進製制資料,就可以的。

4樓:匿名使用者

你程式的方法就是錯的,達不到實現目的。

二進位制資料是不能用 >> 來讀取的!改方法吧

c# 讀取二進位制檔案並轉成16進製制 5

5樓:匿名使用者

//十進位制轉二進位制

console.writeline("十進位制166的二進位制表示: "+convert.tostring(166, 2));

//十進位制轉八進位制

console.writeline("十進位制166的八進位制表示: "+convert.tostring(166, 8));

//十進位制轉十六進製制

console.writeline("十進位制166的十六進製制表示: "+convert.tostring(166, 16));

//二進位制轉十進位制

console.writeline("二進位制 111101 的十進位制表示: "+convert.toint32("111101", 2));

//八進位制轉十進位制

console.writeline("八進位制 44 的十進位制表示: "+convert.toint32("44", 8));

//十六進製制轉十進位制

console.writeline("十六進製制 cc的十進位制表示: "+convert.toint32("cc", 16));

將十六進製制轉成十進位制,再將十進位制轉為二進位制即可。

拷貝過來的,自己二轉十,轉十六

j**a中如何將byte[]裡面的資料轉換成十六進製制

6樓:匿名使用者

system.out.println(integer.tohexstring(b[0]))

integer.tohexstring()方法可以將乙個整數輸出為十六進製制格式。但是返回值是字串。

byte型別本身無進製可言。

二進位制數1011010轉換成十六進製制數是多少?

7樓:雷霆狙擊

二進位制:1011010

八進位制:132

十進位制:90

十六進製制:5a

要將二進位制轉為16進製制,只需將二進位制的位數由右向左每四位乙個單位分隔,分的不夠的前邊補零,用四位數的二進位制數來代表乙個16進製制。轉換表如下,括號內為十六進製制

0000(0) 0001 (1) 0010 (2) 0011 (3) 0100 (4) 0101 (5)

0110 (6) 0111 (7) 1000 (8) 1001 (9) 1010(a) 1011 (b)

1100 (c) 1101 (d) 1110 (e) 1111 (f)

8樓:橘說娛樂

1011010(二進位制) = 5a(十六進製制)。

十六進製制(hexadecimal)是計算機中資料的一種表示方法。它的規則是「逢十六進一」。

進製/位置計數法是一種記數方式,故亦稱進製記數法/位值計數法,可以用有限的數字符號代表所有的數值。可使用數字符號的數目稱為基數(en:radix)或底數,基數為n,即可稱n進製,簡稱n進製。

現在最常用的是十進位制,通常使用10個阿拉伯數字0-9進行記數。

對於任何乙個數,我們可以用不同的進製來表示。比如:十進數57(10),可以用二進位制表示為111001(2),也可以用五進製表示為212(5),也可以用八進位制表示為71(8)、用十六進製制表示為39(16),它們所代表的數值都是一樣的。

數制也稱計數制,是指用一組固定的符號和統一的規則來表示數值的方法。計算機是資訊處理的工具,任何資訊必須轉換成二進位制形式資料後才能由計算機進行處理,儲存和傳輸。

9樓:

1011010(二進位制) = 5a(十六進製制)

你可以二進位制轉換為十進位制再從十進位制轉換為十六進製制。

delphi 檔案 轉16進製制的方法

10樓:

儲存成文字型別的十六進製制(用記事本開啟後1j55a4jm6fj5d24.......)? 先把檔案裝入tmemorystream然後存入動態陣列b 在用inttohex()和迴圈語句轉換後存入字串陣列s 再存入乙個文字檔案。

注意!!迴圈中盡量用指標

二進位制轉十進位制怎麼轉換?二進位制怎樣轉換為十進位制?

二進位制轉化為十進位制的計算方法為 1 無符號整數,從右往左依次用二進位制位上的數字乘以2的n次冪的和 n大於等於0 2 帶符號的二進位制整數,除去最高位的符號位 1為負數,0為正數 其餘與無符號二進位制轉化為十進位制方法相同 3 小數二進位制轉化為十進位制數,從小數點後第一位上的二進位制數字乘以2...

二進位制資料有什麼特點,二進位制的特點

1 十進位制數 人們通常使用的是十進位制。它的特點有兩個 有0,1,2 9十個基本字元組成,十進位制數運算是按 逢十進一 的規則進行的.在計算機中,除了十進位制數外,經常使用的數制還有二進位制數和十六進製制數.在運算中它們分別遵循的是逢二進一和逢十六進一的法則.2 二進位制數 3 二進位制數有兩個特...

C 如何將存有資料的文字檔案轉換為二進位制檔案

這個主要就是把檔案讀出來,然後換儲存方式 讀的是 xx.txt r 存的時候用 xx.dat wb 檔案讀取最好用純c的寫,c 的檔案流操作不是很好,據說微軟準備放棄這塊了 我也是聽老師說的,說c 的檔案指標操作的時候經常會亂跑。作者可以去了解下c的檔案操作 include include int ...