C語言丨關於位運算的使用,只需掌握這4個簡單示例!

2022-06-05 20:00:14 字數 1698 閱讀 6191

位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。

1.輸入乙個float型數,以十六進製制形式輸出其32位機器數。

#include

void main()

float a;

int *p;

printf("input a float number:\n");

scanf("%f",&a);

p=(int *)&a;

printf("%x",*p);

2.從鍵盤輸入乙個二進位製非負整數,螢幕上列印輸出對應的十進位制、八進位制和十六進製制數,要求輸出的十六進製制數中的英文本母為大寫字母。

#include

void main()

int convertbinarytodecimal(long long n);//二進位制轉十進位制的函式宣告

long long n;

printf("input a binary number:\n");

scanf("%lld",&n);//從鍵盤讀取乙個二進位制數

long long m;

m=convertbinarytodecimal(n);//呼叫函式

printf("the number is %d in decimal.\n",m);//輸出十進位制數

printf("the number is %o in octal.\n",m);//輸出八進位制數

printf("the number is %x in hexadecimal.\n",m);//輸出十六進製制數

int convertbinarytodecimal(long long n)

int i=1,j,sum=0;//i表示位權,j表示每一次迴圈取出的尾數,sum表示轉換的十進位制數

while(n!=0)

;i=0;

while(b!=0)

{//求b的32為二進位制數存入陣列bin中

bin[i++]=b&1;

b=b>>1;

unsigned result=a*bin[31];//初始化result的值

for(i=31;i>0;i--)

result=(result<<1)%c+a*bin[i-1];//迭代法求result的值

result=result%c;

return result;//返回result

如果你想更好的提公升你的程式設計能力,學好c語言c++程式設計!彎道超車,快人一步!

c語言c++學習企鵝圈子程式設計學習書籍:

關於C語言位運算的簡單示例

位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。1.輸入乙個float型數,以十六進製制形式輸出其32位機器數。include void ma...

C語言基礎丨運算子之位運算子(六)

對於更多緊湊的資料,c 程式可以用獨立的位或多個組合在一起的位來儲存資訊。檔案訪問許可就是乙個常見的應用案例。位運算子允許對乙個位元組或更大的資料單位中獨立的位做處理 可以清除 設定,或者倒置任何位或多個位。也可以將乙個整數的位模式 bit pattern 向右或向左移動。按位與 按位或 按位異或 ...

C語言丨搞定關係運算子,只需一分鐘!

之前介紹了c語言中的邏輯運算子,今天就分享一下關係運算子吧,希望對大家有所幫助。關係運算子 在判斷條件中,讓程式決定下一步的操作,稱為關係運算子 relational operators 關係運算子在使用時,它的兩邊都會有乙個表示式,比如變數 數值 加減乘除運算等,關係運算子的作用就是判明這兩個表示...