C語言實現二進位制數逆序排列

2021-10-20 06:42:35 字數 749 閱讀 9979

如輸入3,二進位制為011。通過演算法,可逆序輸出110,是011從低位到高位逆序排列的結果,轉換成十進位制為6。

test.c

#include #include //輸入:i 要變序的數 m 二進位制的位數

//例:若輸入為011(十進位制數為3),則輸出為110(十進位制數為6)

int antisequnce(int i, int m)

printf("逆序後的結果:%d \n", outcome);

return outcome;

}

test.h

int antisequnce(int i, int m);
main.c

#include "test.h"

int main(int argc, char *ar**)

輸出結果:

outcome = outcome + ((i>>j)&1)*pow(2,(m-1)-j);

//以此由低位到高位取出輸入的每位數,按十進位制計算出結果

上述**中,對輸入的i先進行二進位制操作,右移j位。再進行二進位制操作,&1,取其最低位。根據十進位制數與二進位制數的轉換公式,將其由最低位換算成最高位。經過累加,得到逆序排列的輸出結果。

C語言實現二進位制檔案讀寫

然後,就在網上搜尋了一下,發現通過c語言實現二進位制檔案讀寫的資料居然出奇的少,這讓我很憤怒,因為雖然這東西很簡單,但是對於初學者,往往會需要花很長的時間去弄,一旦明白,又發現花的時間很不值得,罷了,這裡通過乙個檔案拷貝的例子來講講二進位制檔案的讀寫吧。先介紹函式,我們一共要用到三個函式,fopen...

C語言實現二進位制檔案讀寫

c 語言實現二進位制檔案讀寫 我一直覺得二進位制檔案讀寫是個很容易的事,所以一直沒在意,最近在寫乙個 然後,就在網上搜尋了一下,發現通過 c語言實現二進位制檔案讀寫的資料居然出奇的少,這讓我很憤怒,因為雖然這東西很簡單,但是對於初學者,往往會需要花很長的時間去弄,一旦明白,又發現花的時間很不值得,罷...

C語言實現二進位制檔案讀寫

然後,就在網上搜尋了一下,發現通過c語言實現二進位制檔案讀寫的資料居然出奇的少,這讓我很憤怒,因為雖然這東西很簡單,但是對於初學者,往往會需要花很長的時間去弄,一旦明白,又發現花的時間很不值得,罷了,這裡通過乙個檔案拷貝的例子來講講二進位制檔案的讀寫吧。先介紹函式,我們一共要用到三個函式,fopen...