国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談?dòng)?jì)算機(jī)C程序運(yùn)算涉及

2016-06-03 19:12:14孫程智
科教導(dǎo)刊·電子版 2016年11期
關(guān)鍵詞:運(yùn)算

孫程智

摘 要 計(jì)算機(jī)硬件的設(shè)計(jì)目標(biāo)來源于軟件需求。高級語言中用到的各種運(yùn)算,通過編譯成底層的算數(shù)運(yùn)算指令和邏輯運(yùn)算指令實(shí)現(xiàn),這些底層運(yùn)算指令能在機(jī)器硬件上直接被執(zhí)行。因此在介紹運(yùn)算部件的設(shè)計(jì)之前,有必要先了解一下高級語言程序和機(jī)器指令所涉及到的一些運(yùn)算。所有高級語言的運(yùn)算功能大同小異,某一種語言能代表高級語言的總體情況,因此用C語言中的運(yùn)算為例進(jìn)行說明。

關(guān)鍵詞 C語言 運(yùn)算 移位運(yùn)算

中圖分類號:G306;TP311.1 文獻(xiàn)標(biāo)識碼:A

1 C程序中涉及到的運(yùn)算

加減乘除等算數(shù)運(yùn)算是高級語言中必須提供的基本運(yùn)算,可以有無符號數(shù)的算數(shù)運(yùn)算、待符號整數(shù)的算數(shù)運(yùn)算和浮點(diǎn)數(shù)的算數(shù)運(yùn)算。C語言中除了這些運(yùn)算以外,還有以下幾類基本運(yùn)算:按位運(yùn)算、漏記運(yùn)算、移位運(yùn)算、位擴(kuò)展和位截?cái)噙\(yùn)算。

1.1移位運(yùn)算

C語言中提供了一組移位運(yùn)算,移位操作有邏輯移位和算術(shù)移位兩種,邏輯移位不考慮符號為,總是把高位移出,低位補(bǔ)0。對于無符號整數(shù)的邏輯左移,如果最高位移出的是1,則發(fā)生溢出。因?yàn)橛?jì)算機(jī)內(nèi)部的待符號整數(shù)都是用補(bǔ)碼表示的,所以對于待符號整數(shù)的移位操作應(yīng)采用補(bǔ)碼算數(shù)移位方式,左移時(shí)高位移出,低位補(bǔ)0如果移出的高位不同于移位后的符號位,即左移前,后符號位不同,則發(fā)生溢出,右移時(shí)低位移出高位補(bǔ)符號。雖然C語言沒有明確規(guī)定應(yīng)該采用邏輯移位還是算術(shù)移位,但是實(shí)際上許多機(jī)器和編譯器都對無符號整數(shù)采用邏輯移位方式,而對帶符號整數(shù)采用算術(shù)移位方式。

1.2邏輯運(yùn)算

C語言中的邏輯算符有:符號表示OR運(yùn)算;符號表示AND運(yùn)算;符號表示NOT運(yùn)算。邏輯運(yùn)算很容易和按位運(yùn)算混希,事實(shí)上他們的功能完全不同。邏輯運(yùn)算是非數(shù)值計(jì)算,其操作數(shù)只有兩個(gè)邏輯值True和False通常用非0數(shù)表示邏輯值True,而全0數(shù)表示邏輯值False;而按位運(yùn)算是一種數(shù)值運(yùn)算,運(yùn)算時(shí)將兩個(gè)操作數(shù)中對應(yīng)各二進(jìn)位按照指定的邏輯運(yùn)算規(guī)則逐位進(jìn)行計(jì)算。

1.3位擴(kuò)展和位截?cái)噙\(yùn)算

C語言中沒有明確的為擴(kuò)展運(yùn)算符,但是在進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換時(shí),如果遇到一個(gè)短數(shù)項(xiàng)常數(shù)轉(zhuǎn)化,就要進(jìn)行為擴(kuò)展運(yùn)算了,進(jìn)行為擴(kuò)展運(yùn)算時(shí),擴(kuò)展后的數(shù)值應(yīng)保持不變,有兩種為擴(kuò)展方式,0擴(kuò)展和符號擴(kuò)展。0擴(kuò)展用于無符號數(shù)只要在短的無符號數(shù)前添加足夠的0即可,符號擴(kuò)展用于補(bǔ)碼表示的帶符號整數(shù),通過在短的帶符號整數(shù)前添加足夠多的符號位來擴(kuò)展。

1.4按位運(yùn)算

語言中的按位運(yùn)算有:符號“|”表示按位OR運(yùn)算,符號“&”表示按位AND運(yùn)算1;符號“~”表示按位NOT運(yùn)算;符號“^”表示按位XOR運(yùn)算。按位運(yùn)算的一個(gè)重要運(yùn)用就是實(shí)現(xiàn)掩碼操作,通過與給定的一個(gè)位模式進(jìn)行按位與可以提取所需要的為,然后可以對這些位進(jìn)行“置1”、“清0”、“1測試”或“0測試”等。這里位模式被稱為“掩碼”。

2 MIPS指令中涉及的運(yùn)算

高級語言中的所有運(yùn)算都是通過指令系統(tǒng)中的運(yùn)算指令實(shí)現(xiàn)的,一個(gè)指令系統(tǒng)中涉及運(yùn)算的指令有很多。MIPS指令系統(tǒng)涉及的運(yùn)算有按位邏輯運(yùn)算、邏輯移位、算數(shù)移位、帶符號整數(shù)的加減乘除、無符號整數(shù)加減乘除、帶符號整數(shù)的符號擴(kuò)展、無符號數(shù)的0擴(kuò)展、單精度浮點(diǎn)數(shù)加減乘除、雙精度浮點(diǎn)數(shù)加減乘除等。MIPS指令中沒有專門的算術(shù)左移指令。因?yàn)閷τ谧笠苼碚f邏輯移位和算術(shù)移位的結(jié)果都一樣,都是丟棄k個(gè)最高位。并在低位補(bǔ)k個(gè)0。所以,帶符號整數(shù)和無符號整數(shù)的左移都可用邏輯左移指令實(shí)現(xiàn)。利用MIPS提供的這些運(yùn)算指令完全能夠?qū)崿F(xiàn)C語言所需要的各種運(yùn)算要求。

3總結(jié)

C語言是計(jì)算機(jī)不可或缺的一部分,我們應(yīng)該牢牢掌握。

參考文獻(xiàn)

[1] 王威.計(jì)算機(jī)網(wǎng)絡(luò)管理工作與維護(hù)技術(shù)探討[J].電子技術(shù)與軟件工程,2015(03):36.

[2] 楊文許.計(jì)算機(jī)網(wǎng)絡(luò)管理與維護(hù)技術(shù)[J].祖國,2013(02):84.

[3] 劉翌龍.淺談網(wǎng)絡(luò)管理與維護(hù)[J].無線互聯(lián)科技,2014(06):6+51.

[4] 張學(xué)軍.淺談?dòng)?jì)算機(jī)網(wǎng)絡(luò)管理與維護(hù)的思考[J].商業(yè)文化(上半月),2011(11):397.

猜你喜歡
運(yùn)算
重視運(yùn)算與推理,解決數(shù)列求和題
由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
有趣的運(yùn)算
填運(yùn)算符號
一起來學(xué)習(xí)“混合運(yùn)算”
長算式的簡便運(yùn)算
添運(yùn)算符號
簡化圓錐曲線運(yùn)算的幾個(gè)必殺技
怎樣填運(yùn)算符號
冪的運(yùn)算法則且用且謹(jǐn)慎
环江| 梧州市| 淮南市| 丰都县| 那坡县| 靖远县| 土默特右旗| 东至县| 克拉玛依市| 商水县| 山丹县| 霞浦县| 澄迈县| 改则县| 河北省| 固镇县| 金寨县| 辉南县| 泰和县| 新昌县| 淄博市| 新闻| 屏东市| 哈密市| 稻城县| 延津县| 东乌珠穆沁旗| 临猗县| 松滋市| 灯塔市| 稻城县| 治县。| 原平市| 梅州市| 安西县| 新巴尔虎右旗| 姚安县| 林周县| 荔波县| 彝良县| 银川市|