以下例子用於輸出乙個數字在記憶體中呈現的二進位制數值。
其中有一些知識點需要注意:
1.sizeof(num)
用於獲得num
在記憶體中占用的位元組數
2.<<
是二進位制位左移操作
num
<<1--
相當於-
-num*2
num<<2--
相當於-
-num*2*2
num<相當於-
-num*2^n(2的n次方)
3.>>
是二進位制位右移操作
num>>1--
相當於-
-num/2
num>>2--
相當於-
-num/(2*2)
num>>n--
相當於-
-num/2^n(2的n次方)
4.&
是二進位制位與操作,任何數與1位與都可以得到這個數二進位制的最低位
8&1
--相當於-
-0b1000
&0b0001
1000
0001--
----
0001
因此計算結果為1-
-相當於--
0b0001
以下為例子:
void printbinary(int num);
int main()
while(q);
}//列印數值對應的二進位制
void printbinary(int num)
}printf("\n");
}
輸出結果
輸入乙個數
10000
0000
0000
0000
0000
0000
0000
0001
按任意鍵繼續,0退出!
1輸入乙個數
100000
0000
0000
0000
0000
0000
0000
1010
按任意鍵繼續,0退出!
0
二進位制輸出
將1 byte 數,以二進位制輸出.注意是1byte數,如果是int之類的,應注意大小端問題.include define bytetobinarypattern d d d d d d d d define bytetobinary byte byte 0x80 1 0 byte 0x40 1 0...
輸出二進位制補碼
描述 輸入乙個整型 int 的整數,輸出它的32位二進位制補碼。輸入乙個整型整數。輸出輸出一行,即該整數的補碼表示。樣例輸入 7樣例輸出 00000000000000000000000000000111 第一位為符號位,0表示正數,1表示負數 正數的原碼,反碼,補碼相同 負數的反碼為各位取反,補碼為...
二進位制 二進位制中1的個數
題目 請實現乙個函式,輸入乙個整數,輸出該數二進位制表示中 1 的個數。例如,把 9 表示成二進位制是 1001,有 2 位是 1。因此,如果輸入 9,則該函式輸出 2。示例 1 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 0000000...