奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

C語言

C語言運(yùn)算

時(shí)間:2024-06-09 06:49:02 C語言 我要投稿

C語言運(yùn)算

  引導(dǎo)語:數(shù)學(xué)上,數(shù)學(xué)上,運(yùn)算是一種行為。而在C語言中,運(yùn)算也有優(yōu)先級(jí)之分,以下是百分網(wǎng)小編分享給大家的C語言運(yùn)算,歡迎閱讀學(xué)習(xí)!

  一、 位運(yùn)算的含義及應(yīng)用

  1.位的概念

  大多數(shù)計(jì)算機(jī)系統(tǒng)的內(nèi)存儲(chǔ)器是由眾多的存儲(chǔ)單元構(gòu)成的。在微機(jī)中,每個(gè)存儲(chǔ)單元是1個(gè)字節(jié),它由8位二進(jìn)制數(shù)構(gòu)成,可以表示28=256種信息,各位的編號(hào)從0~7,最左邊的位(第7位)是最高位,最右邊的位(第0位)是最低位。由于二進(jìn)制本身的特點(diǎn),各位上的數(shù)字不是1,就是0。

  本章中的位就是指上述提到的二進(jìn)制位,本章中的位運(yùn)算就是指對(duì)這些二進(jìn)制的位進(jìn)行邏輯運(yùn)算、移位運(yùn)算等操作。

  2.數(shù)的編碼

  數(shù)在計(jì)算機(jī)中是以二進(jìn)制表示的,但是它并不是簡(jiǎn)單地以它本身的數(shù)值的二進(jìn)制形式來直接表示,而要進(jìn)行一定的編碼,以方便計(jì)算機(jī)進(jìn)行處理。常用的編碼有原碼、反碼、補(bǔ)碼三種。

  3.真值與原碼

  我們將一個(gè)十進(jìn)制數(shù)的二進(jìn)制表示稱為這個(gè)十進(jìn)制數(shù)的真值,它代表了這個(gè)十進(jìn)制數(shù)本身的數(shù)值。下表列出了一些數(shù)的真值。

  真值舉例

  數(shù) 二進(jìn)制表示 真值(16位)

  0

  1?

  7 0

  1?

  111 0000000000000000

  0000000000000001?

  0000000000000111 ?

  15? ?

  1111? ?

  0000000000001111?

  255?

  4095?

  65535 11111111?

  111111111111?

  1111111111111111 0000000011111111?

  0000111111111111?

  1111111111111111

  用真值表示的數(shù)只能是正數(shù),對(duì)于負(fù)數(shù),要用“一”號(hào)標(biāo)明,例如:

  -7的真值為-0000000000000111-65535的真值為-1111111111111111

  這勢(shì)必造成用計(jì)算機(jī)表示數(shù)時(shí)的不便,故引入了原碼表示法。

  在原碼表示法中,最高位代表符號(hào)位,用“1”表示負(fù)數(shù),“0”表示正數(shù);余下的數(shù)位用來表示真值的絕對(duì)值。

  數(shù)字零存在著兩種表示方法:+0與-0。

  4.反碼

  若采用反碼表示,則對(duì)應(yīng)的原碼應(yīng)按照以下方法進(jìn)行轉(zhuǎn)換:

  (1)如果真值為正,則它的反碼與原碼相同;

  (2)如果真值為負(fù),則反碼的符號(hào)位為1,其余各位就是對(duì)原碼取反(即原碼的1變?yōu)?,原碼的0變?yōu)?)。

  5.補(bǔ)碼

  (1)為什么要引入補(bǔ)碼

  補(bǔ)碼具有許多獨(dú)特的優(yōu)點(diǎn):首先它可以變減法運(yùn)算為加法運(yùn)算,使得計(jì)算時(shí)步驟統(tǒng)一,速度提高;其次,在這種系統(tǒng)下的“0”只有惟一的一種表示方法,這就是現(xiàn)代的計(jì)算機(jī)系統(tǒng)中大多采用補(bǔ)碼的原因。

  (2)補(bǔ)碼的規(guī)定

  ①正數(shù)的原碼、補(bǔ)碼、反碼均相同;

  ②計(jì)算負(fù)數(shù)的補(bǔ)碼時(shí),先置符號(hào)位為1,再對(duì)剩余原碼的位數(shù)逐位取反,最后對(duì)整個(gè)數(shù)加1。

  在微機(jī)上以8位二進(jìn)制數(shù)為一字節(jié)的存儲(chǔ)單元中采用補(bǔ)碼系統(tǒng),它可以存放的最小整數(shù)為-128,最大整數(shù)為+127。若采用兩個(gè)字節(jié)來表示一個(gè)整數(shù),則可表示的最小整數(shù)為-32768,最大整數(shù)為+32767。

  二、 簡(jiǎn)單的位運(yùn)算

  C語言提供了位(bit)運(yùn)算的功能,這使它像匯編語言一樣用來編寫系統(tǒng)程序。位運(yùn)算符共有六種;

  位運(yùn)算符

  位運(yùn)算符 含義

  & 位與

  ︳ 位或

  ∧ 位異或

  ~ 位取反

  << 位左移

  >> 位右移

  本節(jié)介紹前四種運(yùn)算,即位的邏輯運(yùn)算。

  1.按位與運(yùn)算

  ①概念

  “按位與”運(yùn)算符“&”是雙目運(yùn)算符,其功能是將參與運(yùn)算兩數(shù)的各對(duì)應(yīng)二進(jìn)位相與。只能對(duì)應(yīng)的兩個(gè)二進(jìn)位均為1時(shí),結(jié)果位才為1,否則為0。

  ②“按位與”與運(yùn)算的特殊用途

  ⅰ.清零

  如果想將一個(gè)存儲(chǔ)單元清零,即使其全部二進(jìn)位為0,可按這樣的方法計(jì)算:

  找一個(gè)數(shù),它的補(bǔ)碼形式中各位的值符合如下條件:原來的數(shù)中為1的位,新數(shù)中相應(yīng)位為0(注意,并不要求原數(shù)為0的位上,新數(shù)相應(yīng)位為1,新數(shù)相應(yīng)位可以是0或1);對(duì)二者進(jìn)行&運(yùn)算。

  ⅱ.取一個(gè)數(shù)中某些字節(jié)

  對(duì)于一個(gè)整數(shù)a(占2個(gè)字節(jié)),如要想得到其中的低字節(jié),只需將a與特定的一個(gè)數(shù)按位與即可。

  ③要想將一個(gè)數(shù)的某一位保留下來,可將該數(shù)與一個(gè)特定的數(shù)進(jìn)行&處理。

  2.按位或運(yùn)算

  “按位或”運(yùn)算符“︳”是雙目運(yùn)算符,其功能是將參與運(yùn)算兩數(shù)的各對(duì)應(yīng)的二進(jìn)位相或。只要對(duì)應(yīng)的兩個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1。參與運(yùn)算的整數(shù)均以補(bǔ)碼出現(xiàn)。

  3.按位異或運(yùn)算

  ①概念

  “按位異或”運(yùn)算符“∧”是雙目運(yùn)算符,其功能是將參與運(yùn)算兩數(shù)的各對(duì)應(yīng)位相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1,否則為0。參與運(yùn)算整數(shù)仍以補(bǔ)碼出現(xiàn)。

  ②“異或”運(yùn)算的特殊應(yīng)用

  ⅰ.使特定位翻轉(zhuǎn)

  ⅱ.與0相“異或”,保留原值。

  ⅲ.交換兩個(gè)值。

  4.“取反”運(yùn)算

  “~”是一個(gè)一元運(yùn)算符,即它的運(yùn)算量只有一個(gè),用來對(duì)一個(gè)二進(jìn)制數(shù)按位取反,即將0變1,1變0。比如說,~025就是對(duì)八進(jìn)制數(shù)25(即二進(jìn)制數(shù)000000000010101)按位求反。

  15.3 移位運(yùn)算

  1.移位運(yùn)算符

  移位運(yùn)算是對(duì)操作數(shù)以二進(jìn)制位為單位進(jìn)行左移或右移。

  移位操作

  運(yùn)算符 名 稱 例 子 運(yùn)算功能

  >> 右移位 b>>3 b右移3位

  << 左移位 c<<2 c左移2位

  2.左移運(yùn)算

  左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。例如;

  a<<4

  就把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。

  3.右移運(yùn)算

  右移運(yùn)算符“>>”是雙目運(yùn)算符,其功能是把“>>”左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,“>>”右邊的數(shù)指定移動(dòng)的位數(shù)。例如:

  a=15,a>>2

  表示把000001111右移為00000011(十進(jìn)制3)。應(yīng)該說明的是,對(duì)于有符號(hào)數(shù),在右移時(shí),符號(hào)位將隨同移動(dòng)。當(dāng)為正數(shù)時(shí),最高位補(bǔ)0;而為負(fù)數(shù)時(shí),符號(hào)位為1,最高位是補(bǔ)0或1取決于編譯系統(tǒng)的規(guī)定。Turbo C 規(guī)定補(bǔ)1。

  右移運(yùn)算相當(dāng)于將運(yùn)算對(duì)象除2.

  1.4 位賦值運(yùn)算

  位賦值運(yùn)算符。

  位賦值運(yùn)算符

  運(yùn)算符 名 稱 例 子 等價(jià)于

  &= 位與賦值 a&=b a=2&b

  ︳= 位或賦值 a|=b a=a|b

  ∧= 位異或賦值 a∧=b a=a∧b

  >>= 右移賦值 a>>b a=a>>b

  <<= 左移賦值 a<<=b a=a<

  位賦值運(yùn)算的過程為:

  (1)先對(duì)兩個(gè)操作數(shù)進(jìn)行位操作;

  (2)然后把結(jié)果賦予第一個(gè)操作數(shù),因此第一個(gè)操作數(shù)必須是變量。

  位賦值運(yùn)算與算術(shù)賦值運(yùn)算相似,它們都統(tǒng)稱復(fù)合賦值運(yùn)算。

【C語言運(yùn)算】相關(guān)文章:

C語言的位運(yùn)算05-31

C語言位運(yùn)算10-28

c語言算術(shù)運(yùn)算符07-23

C語言的條件運(yùn)算符12-19

C語言加減乘除運(yùn)算09-22

C語言位運(yùn)算基礎(chǔ)知識(shí)02-20

c語言位運(yùn)算符的用法指導(dǎo)06-02

C語言和C++的分別06-18

C語言的結(jié)構(gòu)10-14

C語言考點(diǎn)精選06-29

主站蜘蛛池模板: 吉隆县| 桐城市| 尼勒克县| 东明县| 三门峡市| 旅游| 双峰县| 吴江市| 平湖市| 靖宇县| 天津市| 东山县| 乌鲁木齐县| 吉安市| 屯留县| 南陵县| 瓮安县| 阳山县| 山阳县| 芷江| 阳西县| 临颍县| 四子王旗| 高唐县| 慈溪市| 武定县| 封丘县| 大洼县| 科技| 界首市| 松桃| 宁津县| 海晏县| 台南市| 卓资县| 普格县| 崇文区| 鄂托克前旗| 龙川县| 仁化县| 西城区|