C语言位运算,醍醐灌顶式教学
生活随笔
收集整理的這篇文章主要介紹了
C语言位运算,醍醐灌顶式教学
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C語言位運(yùn)算,醍醐灌頂式教學(xué)
學(xué)習(xí)計(jì)算機(jī)的都了解,位運(yùn)算其實(shí)以一種比較快速的運(yùn)算,對(duì)于大型應(yīng)用程序,可以節(jié)約很多運(yùn)算時(shí)間。但是很多人都不了解,下面我來給大家大致講解一下C語言中各種位運(yùn)算符。(小聲bb,不好的地方請(qǐng)多多包涵)
- 位運(yùn)算
- 定義:程序中的所有數(shù)在計(jì)算機(jī)內(nèi)存中都是以二進(jìn)制的形式儲(chǔ)存的。位運(yùn)算就是直接對(duì)整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。(盜用了一下百度的定義)
位運(yùn)算符
下面我用a, b兩個(gè)整型變量進(jìn)行舉例
按位與
- 符號(hào):&
- 用法:將a, b轉(zhuǎn)換為二進(jìn)制,末尾對(duì)其。如果對(duì)應(yīng)位二進(jìn)制都為1則該位1,否則為0。
例如:
按位或
- 符號(hào):|
- 用法:將a, b轉(zhuǎn)換為二進(jìn)制,末尾對(duì)其。如果對(duì)應(yīng)位二進(jìn)制都為0則該位0,否則為1。
例如:
按位異或
- 符號(hào):^
- 用法:將a, b轉(zhuǎn)換為二進(jìn)制,末尾對(duì)其。如果對(duì)應(yīng)位二進(jìn)制相同,則該位0,否則為1。
例如:
按位取反
- 符號(hào):~
- 用法:~是單目運(yùn)算符,將a, b轉(zhuǎn)換為二進(jìn)制,每一位上0改為1,1改為0。
例如:
(至于這里為什么是 -6 -4,涉及一些原碼補(bǔ)碼反碼的知識(shí)。大家記住正數(shù)按位取反,就加1再取反;負(fù)數(shù)按位取反,取反再減1)
左移
- 符號(hào):<<
- 用法:一元運(yùn)算符,將一個(gè)數(shù)轉(zhuǎn)換為2進(jìn)制后,全部左移N位,右補(bǔ)0。(a << N)
例如:
在其未超過其范圍之前,a << N。相當(dāng)于 a * (2^N)。
右移
- 符號(hào):>>
- 用法:一元運(yùn)算符,將一個(gè)數(shù)轉(zhuǎn)換為2進(jìn)制后,全部右移N位,移動(dòng)到右端的低位被舍棄。(a >> N)
例如:
在其未超過其范圍之前,a >> N。相當(dāng)于 a / (2^N)。(是C語言中的整型相除哦)
當(dāng)然位運(yùn)算用處很多,很多時(shí)候都會(huì)起到意想不到的作用,大家感興趣可以多多了解呀。
看到這,點(diǎn)個(gè)贊再走吧。嚶嚶嚶!!!
總結(jié)
以上是生活随笔為你收集整理的C语言位运算,醍醐灌顶式教学的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pwn环境配置(二)——VMware虚拟
- 下一篇: C语言文件读写常用函数总结