999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言位運(yùn)算中鮮為人知的事

2014-09-24 11:53:38周嵐
軟件工程 2014年5期
關(guān)鍵詞:規(guī)則

周嵐

摘 要:在很多系統(tǒng)程序中常要求在位(bit)一級進(jìn)行運(yùn)算或處理。C語言提供了位運(yùn)算的功能,這使得C語言也能像匯編語言一樣用來編寫系統(tǒng)程序。位運(yùn)算說的簡單一些,就是直接對整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。希望通過本文讓大家了解位運(yùn)算中鮮為人知的事情。

關(guān)鍵詞:位運(yùn)算;規(guī)則;左移;右移;可移植

中圖分類號:TP312 文獻(xiàn)標(biāo)識碼:A

Abstract:In many system program often requires(bit)in a computing or processing.C language provides a calculation function,which makes the C language can be the same as the assembly language used to write the program.Bit operation that simple, just to integer in binary bits in memory operation.Hope that through this article to let everybody know the little-known things bit operation.

Keywords:bit operations;rules;left;right;transplantation

1 引言(Introduction)

程序中的所有數(shù)在計算機(jī)內(nèi)存中都是以二進(jìn)制的形式儲存的。位運(yùn)算說的簡單一些,就是直接對整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。比如,and運(yùn)算本來是一個邏輯運(yùn)算符,但整數(shù)與整數(shù)之間也可以進(jìn)行and運(yùn)算。舉個例子,6的二進(jìn)制是110,11的二進(jìn)制是1011,那么6 and 11的結(jié)果就是2,它是二進(jìn)制對應(yīng)位進(jìn)行邏輯運(yùn)算的結(jié)果(0表示False,1表示True,空位都當(dāng)0處理)[1]。

在很多系統(tǒng)程序中常要求在位(bit)一級進(jìn)行運(yùn)算或處理。C語言提供了位運(yùn)算的功能,這使得C語言也能像匯編語言一樣用來編寫系統(tǒng)程序。

4 移位運(yùn)算符(Shift operator)

在使用移位運(yùn)算符時,我常常會思考這樣兩個問題:

(1)在向右移位時,空出的位是由0填充,還是由符號位填充?

(2)移位計數(shù)允許的取值范圍是什么?

第一個問題的答案很簡單,但有時卻是與具體的C語言實(shí)現(xiàn)有關(guān)。如果被移位的對象是無符號數(shù),那么空出的位將被0填充[2]。如果被移位的對象是有符號數(shù),那么C語言實(shí)現(xiàn)既可以用0填充空出的位,也可以用符號位的副本填充空出的位。我們?nèi)绻P(guān)注向右移位時空出的位,那么可以將操作的變量聲明為無符號類型,那么空出的位都會被設(shè)置為0。

另外,C語言中位移操作分為算術(shù)位移和邏輯位移,二者都表示為<<和>>運(yùn)算符。

進(jìn)行左移操作時,算術(shù)位移和邏輯位移都在結(jié)果右端補(bǔ)0。但是右移時有所不同,算術(shù)位移在左端填充符號位(正數(shù)為0,負(fù)數(shù)為1),邏輯位移在左端補(bǔ)0。位移運(yùn)算的特性結(jié)合C算術(shù)運(yùn)算時類型提升特性,很容易出錯[3]。讓我們再看一個例子。

5 結(jié)論(Conclusion)

綜上所述,在進(jìn)行位移操作時,一定要小心上溢,建議在進(jìn)行左移時先強(qiáng)制將無符號數(shù)(unsigned short, unsigned char)轉(zhuǎn)換為unsigned int,再進(jìn)行運(yùn)算。

參考文獻(xiàn)(References)

[1] 譚浩強(qiáng).C語言程序設(shè)計[M].北京:清華大學(xué)出版社,2010:45-46.

[2] 魏書堤,趙輝煌.C語言二進(jìn)制位運(yùn)算教學(xué)設(shè)計[J].衡陽師范學(xué)院學(xué)報,2013(6):149-152.

[3] 趙忠孝,楊亞蕾.對C語言指針教學(xué)問題的探究[J].計算機(jī)教育,2009(19):78-79.

作者簡介:

周 嵐(1977-),女,碩士,講師.研究領(lǐng)域:計算機(jī)程序設(shè)計,數(shù)據(jù)庫.endprint

摘 要:在很多系統(tǒng)程序中常要求在位(bit)一級進(jìn)行運(yùn)算或處理。C語言提供了位運(yùn)算的功能,這使得C語言也能像匯編語言一樣用來編寫系統(tǒng)程序。位運(yùn)算說的簡單一些,就是直接對整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。希望通過本文讓大家了解位運(yùn)算中鮮為人知的事情。

關(guān)鍵詞:位運(yùn)算;規(guī)則;左移;右移;可移植

中圖分類號:TP312 文獻(xiàn)標(biāo)識碼:A

Abstract:In many system program often requires(bit)in a computing or processing.C language provides a calculation function,which makes the C language can be the same as the assembly language used to write the program.Bit operation that simple, just to integer in binary bits in memory operation.Hope that through this article to let everybody know the little-known things bit operation.

Keywords:bit operations;rules;left;right;transplantation

1 引言(Introduction)

程序中的所有數(shù)在計算機(jī)內(nèi)存中都是以二進(jìn)制的形式儲存的。位運(yùn)算說的簡單一些,就是直接對整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。比如,and運(yùn)算本來是一個邏輯運(yùn)算符,但整數(shù)與整數(shù)之間也可以進(jìn)行and運(yùn)算。舉個例子,6的二進(jìn)制是110,11的二進(jìn)制是1011,那么6 and 11的結(jié)果就是2,它是二進(jìn)制對應(yīng)位進(jìn)行邏輯運(yùn)算的結(jié)果(0表示False,1表示True,空位都當(dāng)0處理)[1]。

在很多系統(tǒng)程序中常要求在位(bit)一級進(jìn)行運(yùn)算或處理。C語言提供了位運(yùn)算的功能,這使得C語言也能像匯編語言一樣用來編寫系統(tǒng)程序。

4 移位運(yùn)算符(Shift operator)

在使用移位運(yùn)算符時,我常常會思考這樣兩個問題:

(1)在向右移位時,空出的位是由0填充,還是由符號位填充?

(2)移位計數(shù)允許的取值范圍是什么?

第一個問題的答案很簡單,但有時卻是與具體的C語言實(shí)現(xiàn)有關(guān)。如果被移位的對象是無符號數(shù),那么空出的位將被0填充[2]。如果被移位的對象是有符號數(shù),那么C語言實(shí)現(xiàn)既可以用0填充空出的位,也可以用符號位的副本填充空出的位。我們?nèi)绻P(guān)注向右移位時空出的位,那么可以將操作的變量聲明為無符號類型,那么空出的位都會被設(shè)置為0。

另外,C語言中位移操作分為算術(shù)位移和邏輯位移,二者都表示為<<和>>運(yùn)算符。

進(jìn)行左移操作時,算術(shù)位移和邏輯位移都在結(jié)果右端補(bǔ)0。但是右移時有所不同,算術(shù)位移在左端填充符號位(正數(shù)為0,負(fù)數(shù)為1),邏輯位移在左端補(bǔ)0。位移運(yùn)算的特性結(jié)合C算術(shù)運(yùn)算時類型提升特性,很容易出錯[3]。讓我們再看一個例子。

5 結(jié)論(Conclusion)

綜上所述,在進(jìn)行位移操作時,一定要小心上溢,建議在進(jìn)行左移時先強(qiáng)制將無符號數(shù)(unsigned short, unsigned char)轉(zhuǎn)換為unsigned int,再進(jìn)行運(yùn)算。

參考文獻(xiàn)(References)

[1] 譚浩強(qiáng).C語言程序設(shè)計[M].北京:清華大學(xué)出版社,2010:45-46.

[2] 魏書堤,趙輝煌.C語言二進(jìn)制位運(yùn)算教學(xué)設(shè)計[J].衡陽師范學(xué)院學(xué)報,2013(6):149-152.

[3] 趙忠孝,楊亞蕾.對C語言指針教學(xué)問題的探究[J].計算機(jī)教育,2009(19):78-79.

作者簡介:

周 嵐(1977-),女,碩士,講師.研究領(lǐng)域:計算機(jī)程序設(shè)計,數(shù)據(jù)庫.endprint

摘 要:在很多系統(tǒng)程序中常要求在位(bit)一級進(jìn)行運(yùn)算或處理。C語言提供了位運(yùn)算的功能,這使得C語言也能像匯編語言一樣用來編寫系統(tǒng)程序。位運(yùn)算說的簡單一些,就是直接對整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。希望通過本文讓大家了解位運(yùn)算中鮮為人知的事情。

關(guān)鍵詞:位運(yùn)算;規(guī)則;左移;右移;可移植

中圖分類號:TP312 文獻(xiàn)標(biāo)識碼:A

Abstract:In many system program often requires(bit)in a computing or processing.C language provides a calculation function,which makes the C language can be the same as the assembly language used to write the program.Bit operation that simple, just to integer in binary bits in memory operation.Hope that through this article to let everybody know the little-known things bit operation.

Keywords:bit operations;rules;left;right;transplantation

1 引言(Introduction)

程序中的所有數(shù)在計算機(jī)內(nèi)存中都是以二進(jìn)制的形式儲存的。位運(yùn)算說的簡單一些,就是直接對整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。比如,and運(yùn)算本來是一個邏輯運(yùn)算符,但整數(shù)與整數(shù)之間也可以進(jìn)行and運(yùn)算。舉個例子,6的二進(jìn)制是110,11的二進(jìn)制是1011,那么6 and 11的結(jié)果就是2,它是二進(jìn)制對應(yīng)位進(jìn)行邏輯運(yùn)算的結(jié)果(0表示False,1表示True,空位都當(dāng)0處理)[1]。

在很多系統(tǒng)程序中常要求在位(bit)一級進(jìn)行運(yùn)算或處理。C語言提供了位運(yùn)算的功能,這使得C語言也能像匯編語言一樣用來編寫系統(tǒng)程序。

4 移位運(yùn)算符(Shift operator)

在使用移位運(yùn)算符時,我常常會思考這樣兩個問題:

(1)在向右移位時,空出的位是由0填充,還是由符號位填充?

(2)移位計數(shù)允許的取值范圍是什么?

第一個問題的答案很簡單,但有時卻是與具體的C語言實(shí)現(xiàn)有關(guān)。如果被移位的對象是無符號數(shù),那么空出的位將被0填充[2]。如果被移位的對象是有符號數(shù),那么C語言實(shí)現(xiàn)既可以用0填充空出的位,也可以用符號位的副本填充空出的位。我們?nèi)绻P(guān)注向右移位時空出的位,那么可以將操作的變量聲明為無符號類型,那么空出的位都會被設(shè)置為0。

另外,C語言中位移操作分為算術(shù)位移和邏輯位移,二者都表示為<<和>>運(yùn)算符。

進(jìn)行左移操作時,算術(shù)位移和邏輯位移都在結(jié)果右端補(bǔ)0。但是右移時有所不同,算術(shù)位移在左端填充符號位(正數(shù)為0,負(fù)數(shù)為1),邏輯位移在左端補(bǔ)0。位移運(yùn)算的特性結(jié)合C算術(shù)運(yùn)算時類型提升特性,很容易出錯[3]。讓我們再看一個例子。

5 結(jié)論(Conclusion)

綜上所述,在進(jìn)行位移操作時,一定要小心上溢,建議在進(jìn)行左移時先強(qiáng)制將無符號數(shù)(unsigned short, unsigned char)轉(zhuǎn)換為unsigned int,再進(jìn)行運(yùn)算。

參考文獻(xiàn)(References)

[1] 譚浩強(qiáng).C語言程序設(shè)計[M].北京:清華大學(xué)出版社,2010:45-46.

[2] 魏書堤,趙輝煌.C語言二進(jìn)制位運(yùn)算教學(xué)設(shè)計[J].衡陽師范學(xué)院學(xué)報,2013(6):149-152.

[3] 趙忠孝,楊亞蕾.對C語言指針教學(xué)問題的探究[J].計算機(jī)教育,2009(19):78-79.

作者簡介:

周 嵐(1977-),女,碩士,講師.研究領(lǐng)域:計算機(jī)程序設(shè)計,數(shù)據(jù)庫.endprint

猜你喜歡
規(guī)則
拼寫規(guī)則歌
撐竿跳規(guī)則的制定
數(shù)獨(dú)的規(guī)則和演變
依據(jù)規(guī)則的推理
法律方法(2019年3期)2019-09-11 06:26:16
善用首次銷售規(guī)則
中國外匯(2019年7期)2019-07-13 05:44:52
規(guī)則的正確打開方式
幸福(2018年33期)2018-12-05 05:22:42
顛覆傳統(tǒng)規(guī)則
讓規(guī)則不規(guī)則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規(guī)則對我國的啟示
啦啦操2010—2013版與2013—2016版規(guī)則的對比分析
運(yùn)動(2016年6期)2016-12-01 06:33:42
主站蜘蛛池模板: 亚洲av无码专区久久蜜芽| 国产久操视频| 91小视频在线观看| 综合色婷婷| 国产精品美女网站| 日本在线视频免费| 国产网站免费看| 久久国产精品影院| 成人午夜视频网站| 成人免费一区二区三区| 欧美人在线一区二区三区| 亚洲AV无码久久精品色欲| av在线无码浏览| 色成人亚洲| 欧美伊人色综合久久天天| 天天干伊人| 伊人激情综合网| 日韩成人午夜| 免费人成黄页在线观看国产| 精品国产一二三区| 欧美a在线看| 国产黑人在线| 最新国产高清在线| 在线观看视频99| 在线欧美a| 精品亚洲国产成人AV| 国产91精选在线观看| 亚洲香蕉伊综合在人在线| 亚洲精品国产综合99久久夜夜嗨| 国产午夜在线观看视频| 亚洲自拍另类| 欧美亚洲第一页| 尤物国产在线| 免费在线不卡视频| 色AV色 综合网站| 亚洲人成在线免费观看| 国产香蕉在线| 四虎永久免费地址在线网站| 婷婷成人综合| 99久久精品免费观看国产| 国产黑丝视频在线观看| 国产精品视频导航| 亚洲欧美在线综合一区二区三区 | 无码一区二区三区视频在线播放| 熟女成人国产精品视频| 免费国产一级 片内射老| 成人午夜视频网站| 国产av无码日韩av无码网站| 无码中文AⅤ在线观看| 青青青亚洲精品国产| 欧美成人精品在线| 久久精品国产亚洲AV忘忧草18| 四虎成人精品在永久免费| 国产真实乱了在线播放| 国产素人在线| 国产成人三级| 国产精品入口麻豆| 国产乱人视频免费观看| 亚洲第一成年网| 99久久无色码中文字幕| 国产在线自乱拍播放| 噜噜噜综合亚洲| 性欧美在线| 日韩欧美中文| 十八禁美女裸体网站| 久久亚洲精少妇毛片午夜无码| P尤物久久99国产综合精品| 色天天综合| 动漫精品啪啪一区二区三区| 二级特黄绝大片免费视频大片| 日韩av在线直播| 99精品一区二区免费视频| 精品少妇人妻无码久久| 呦女亚洲一区精品| 亚洲综合极品香蕉久久网| 亚洲精品va| 呦女亚洲一区精品| 五月综合色婷婷| 最近最新中文字幕在线第一页 | 国产成人高清在线精品| 亚洲视频二| 久久精品免费看一|