輸出數字在記憶體中呈現的二進位制數值

2021-07-02 00:37:06 字數 1205 閱讀 2857

以下例子用於輸出乙個數字在記憶體中呈現的二進位制數值。

其中有一些知識點需要注意:

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...