一、概念
二、代碼
#include <stdio.h>
void printBinay(int value);
int main()
{
#pragma 1.要求定義一個函數,傳入一個正式,輸出該整數的二進制
/*
%i, %o, %x
0000 0000 0000 0000 0000 0000 0000 1001
*/
int num = 9;
printBinay(num);
return 0;
}
void printBinay(int value)
{
/*
使用按位與 &
任何數和 1 相& 得到的結果還是那個數
0000 0000 0000 0000 0000 0000 0000 1001
&0000 0000 0000 0000 0000 0000 0000 0001
----------------------------------------
// 1.讓9的二進制向右移31位,就可以獲取到9的最高位的二進制,然后讓9的二進制的最高位 和1相與,那么就可以獲得9的最高位
// 2.讓9的二進制向右移動30位,就可以獲取9二進制第二位
// 3.以此類推,直到0位置
技巧
1.任何數 與 1相& 都是那個數
2.利用位移 取出每一位
*/
// 1.定義變量需要右移的位數
int offset = 31;
// 2.通過循環取出每一位
while (offset >=0) {
int result = (value >> offset) & 1;
printf("%i",result);
// 3.每一次取出一位就讓控制右移的變量-1
offset--;
if ((offset+1) %4 == 0) {
printf(" ");
}
}
printf("\n");
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。