亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        原碼、反碼和補碼的教學探討

        2015-05-30 12:05:34羅嘉慶周世杰徐潔
        計算機教育 2015年10期

        羅嘉慶 周世杰 徐潔

        摘要:有符號數字的存儲包括原碼、反碼和補碼(國內教材采用術語)3種表示,是許多計算機專業(yè)基礎課程的重要教學內容,然而國內外教材和網絡百科中的相關內容存在很多不一致的地方,可能會導致教學中的困惑和誤區(qū)。文章將分別從講解思路、術語定義和數學本質3方面進行對比分析并提出一些可能的改進建議,包括規(guī)范術語,注重計算機基本操作和相關數學概念,強調不同表示的產生原因、關系和符號位差異等。

        關鍵詞:原碼;反碼;補碼

        0.引言

        數字存儲與數字計算緊密相連,是計算機專業(yè)的基礎課程,如計算機導論、計算機組成原理、匯編語言等,是要求學生理解和掌握的重要知識點。有符號數存儲涉及數字的符號,包括原碼、反碼和補碼,又是其中的教學難點,然而眾多國內教材包括電子工業(yè)出版社的《8086/8088宏匯編語言程序設計教程》(1998年出版)、高等教育出版社的《數字電子技術基礎》(1998年出版,2001年重印)、電子工業(yè)出版社的《計算機組成原理》(2004年出版)和清華大學出版社的《匯編語言程序設計》(2009年出版)以及網絡百科包括百度百科和360百科(更新截止2014年11月18日),國外教材包括ComputerOrganization and Embedded System(2011年出版)和Foundations of Computer Science(2007年出版)以及網絡百科Wikipedia(更新截止2014年11月18日),對于有符號數存儲的講解內容存在眾多不一致的地方,教師需要進一步分析與探討,以避免在教學過程中令學生產生誤解。

        1、講解思路

        1.1產生原因

        有符號數字的存儲有3種表示:原碼、反碼和補碼?,F在計算機大多選用補碼,早期部分計算機選用原碼或反碼,如IBM 709x系列采用原碼,PDP-1、CDC 160系列、CDC 6000系列、UNIVAC 1100系列和LINC計算機采用反碼。在教學過程中,學生通常會產生兩點疑惑:①為什么有符號數字有3種表示?②為什么計算機不選用相對直觀的原碼而選用晦澀難懂的補碼?國外網絡百科通過例子詳細說明了原碼和反碼在計算過程中可能出現的問題。具體而言,原碼的符號位不能參與計算,反碼的計算需要處理進位或借位,同時存在—0,只有補碼的計算能夠保持與無符號二進制數的計算一致。國內教材和網絡百科往往從以下3方面描述:①數學表達式;②求解方法;③硬件設計的難易程度。相比較而言,國外網絡百科更有利于把握計算的本質,有助于學生理解不同表示產生的原因。

        1.2基本方法

        國外教材通常采用方法→表示的講解方式,即先介紹二進制中兩種補的方法(methods ofcomplement):眾一的補(ones' complement)和二的補(two's complement)。補的方法是一種只用正數的加法計算從一個數中減去另一個數的技術。 一個二進制數的眾一的補被定義為這個數的所有位取反(0變l,1變0)。一個n位二進制數的二的補被定義為2n的補,等同于眾一的補(取反運算)加1。然后,介紹兩種有符號數的表示:眾一的補表示(英文:ones'complement representation,中文:反碼)和二的補表示(英文:two's complement representation,中文:補碼)。眾一的補和二的補系統/計算(one's complement system/arithmetic and two'scomplement system/arithmetic)中的負數,分別用它們對應的正數的眾一的補和二的補表示。

        部分國內教材則采用表示→運算的講解方式,即先定義有符號二進制數的表示,即原碼、反碼和補碼,再定義一種補碼的運算——求補運算。具體而言,求補運算被定義為一個已為補碼表示的數,連同符號位一起按位求反后,在最低位加補,這種定義容易混淆概念:①如果它對應二的補,那么可以理解為一個數學操作符,輸入不僅僅限定為已為補碼表示的數,例如,一個負數對應正數的二進制表示;②如果這種定義對應二的補算術(two's complement arithmetic),那么指代一個系統,這個系統中一些基本的算術操作如加、減和乘就與尢符號二進制數的相同。此外,還可能會產生以下一些問題:當輸入一個二進制數時,計算機將如何鑒別這個數已為補碼表示(注意并非所有計算機都采用補碼)?如果不能鑒別,那么這種運算的意義何在?又將如何定義?

        1.3求解過程

        在求解有符號數表示時,國外教材出發(fā)點是數本身,給定一個有符號數χ,各種表示求解過程如下:

        符號和數量表示(英文:sign and magnituderepresentation,中文:原碼):最高位為符號位,0表示正數,1表示負數,剩余位為x的數量(絕對值)。

        眾一的補表示(反碼):如果x為L正數,則是其二進制表示;如果χ為負數,則是其對應正數的位補(英文:bit complement/bitwise NOT,中文:按位取反)——執(zhí)行每一位邏輯否定的一元操作。

        二的補表示(補碼):如果x為正數,則是其二進制表示;如果x為負數,則是其對應正數的二的補(所有位取反后加1)。

        在求解有符號數表示時,部分國內教材出發(fā)點是原碼,同樣給定一個數x,各種表示求解方式如下:

        原碼:最高位為符號位,其余位為χ的絕對值。

        反碼:如果x為正數,則與原碼相同;如果x為負數,保持原碼符號位不變,其余位變反,

        補碼:如果χ為正數,則與原碼相同;如果χ為負數,保持原碼符號位不變,其余化先變反,然后在末位加1。

        在操作層面,國內外教材求解結果一致,但在理解層面,國內教材容易引起誤解:

        (1)原碼、反碼和補碼之間的關系從原碼出發(fā)求解反碼和補碼,學生會誤以為原碼是后兩者的基礎。原碼的出發(fā)點是符號的表示(符號位),即用O表示正數,用1表示負數;反碼和補碼的出發(fā)點是減法的運算,即用兩個正數的加法取代兩個數的減法,因此反碼和補碼不能簡單理解為由原碼變換而成。

        (2)原碼、反碼和補碼符號位的差異。求解反碼和補碼過程中,保持原碼符號位不變,學生會誤以為原碼、反碼和補碼的符號位相同。雖然符號位都表示數的正負,但是反碼和補碼與原碼符號位的差別在于它們有權重(weight),如補碼的符號位權重為—( 2n-l)。

        2、術語定義

        2.1完備性

        國外教材關于術語定義從操作→方法→表示具有連貫性和一致性,國內教材術語定義(包括譯著)存在混用和缺失的現象,表1對比了國內外教材涉及有符號數字存儲的術語。

        從表l可以看出,大部分國內教材對方法的術語(眾一的補和二的補)缺乏明確的定義,即求解表示(眾一的補表示和二的補表示)的過程。正因如此,部分譯著將反碼和補碼與眾一的補和二的補(參見1.2節(jié)定義)對應,另一部分譯著將反碼和補碼與眾一的補表示和二的補表示(參見1.2節(jié)定義)對應,導致方法和表示的術語沖突。由此可見,在定義表示的形式化描述時,更應該關注其求解方法的定義與內涵。

        此外,國內教材對術語原碼/原碼表示法、反碼/反碼表示法和補碼/補碼表示法存在混用現象。具體而言,部分教材只使用原碼、反碼和補碼,另一部分教材將原碼/原碼表示法、反碼/反碼表示法和補碼/補碼表示法混合使用(沒有明確區(qū)分)。

        2.2規(guī)范性

        國外教材中的術語非常形象和直觀。例如,眾一的補中的“眾一”表示二進制數中的每一位都用l減去這一位替代(與按位取反效果相同);二的補中的“二”表示基數2;兩者中的“補”表明了它們之問的關系,即二的補等于眾一的補加1。國內教材中的術語在認知上可能造成歧義。例如,原碼中的“原”有原始的意思,學生容易誤解為原碼是反碼和補碼的基礎。真值被定義為日常書寫習慣中用+或-表示的數,英文中有與其沖突的術語truth value(同樣翻譯為真值),又稱為邏輯值(logical value),是指相對于真的程度。在經典邏輯中,唯一可能的真值是真和假,模糊邏輯和其他形式的多值邏輯中會使用比真和假更多的真值。此外,國內網絡百科將原碼翻譯為true form并不準確,對應英文術語應該是sign and magnitude representation。

        3、數學本質

        3.1必要性

        形式化的描述是一把雙刃劍,一方面能夠用數學語言準確地描述概念本質,另一方面會因為過度抽象而增加學生理解的難度。部分國內教材對原碼、反碼和補碼都給出了數學表達式。原碼的定義本來非常直觀且容易理解,原碼用符號位表示數的正負,而符號位沒有權重,不能直接參與運算。原碼的數學表達式可能是一個由簡變繁的過程且存在以下一些問題:這種表達式的實質和意義是什么?是否與原碼的定義相關?原碼沒有權重或值的符號位是否能夠通過算術運算來定義?將一個負數χ的原碼定義為2n-1-X,即表示符號位的值為2n-l,相應的運算規(guī)則如何定義?

        3.2準確性

        國內教材的數學表達存在細微差異。國外教材:在眾一的補表示中,一個負數χ被表示為其對應正數的眾一的補,被定義為(2n-1)-(-X):在二的補表示中,一個負數x被表示為其對應正數的二的補(相對于2n的補),被定義為2n-(一x)。國內教材:一個負數x的反碼和補碼分別被定義為(2n-l)+x和2n+x。在計算層面,國內外教材的運算結果一致,因為- ( -x)=x,但在理解層面,“減去一個正數”與“加上一個負數”存在明顯差異,失之毫厘,差之千里。計算機只能識別0和l組成的序列,負號并不存在。負數x可以表示為0-(-x),為了將減法轉換為加法,需要求-x(正數)的算術負值。數學表達式(2n-l)+x和2n+x并不能準確描述這一過程。此外,部分國內教材直接用模運算定義反碼和補碼,模運算可以用于解釋反碼和補碼如何工作,但并不能作為其正式定義,因為它不是相關概念的直接描述。

        4、改進建議

        國內外教材的差異可能會導致教學困惑和誤區(qū)。為了澄清概念和消除誤區(qū),筆者提出以下幾點改進建議。

        (1)統一術語:建議用“取一個數的反碼”和“取一個數的補碼”分別對應“眾一的補”和“二的補”;用“反碼”和“補碼”分別對應眾一的補和二的補后的結果;用“原碼表示”“反碼表示”和“補碼表示”分別對應“符號和數量表示”“眾一的補表示”和“二的補表示”。

        (2)修改方法:在講解求解過程時,保持與補的方法(眾一的補和二的補)一致,摒棄原碼的基礎上求解反碼和補碼的過程。

        (3)更正定義:去掉原碼的數學表達式,將反碼和補碼的數學表達式更正為(2n-l)一(一x)和2n-(-x)。

        (4)更新百科:網絡百科有時比教材更有影響力,因為許多學生遇到疑問都會在網上求答案。截止2014年11月28日,百度百科中反碼和補碼的瀏覽次數分別達到151 035和437 146,因此有必要規(guī)范和更新網絡百科的相關內容,避免將教學誤區(qū)擴大化。

        5、結語

        通過對比國內外教材和網絡百科,筆者發(fā)現國內部分教材關于有符號數字存儲的相關內容包括術語、概念和定義都有待進一步明確和清晰,建議統一術語,更正和修改定義和方法,更新網絡百科相關內容,避免在教學過程中產生誤區(qū)。

        偷拍一区二区三区黄片| 波多野结衣乳巨码无在线| 人人妻人人澡人人爽曰本| 全部免费国产潢色一级| 国产三级在线观看性色av| 久久一区二区视频在线观看| 麻豆精品一区二区av白丝在线| 亚洲av无码成人精品区狼人影院| 又粗又硬又黄又爽的免费视频| 国产精品网站夜色| 美女黄网站永久免费观看网站| 成人一区二区三区激情视频| 伊人久久大香线蕉av不变影院| 中文字幕欧美人妻精品一区| 美女高潮无遮挡免费视频| 激情亚洲的在线观看| 日本一区二区三区免费| 变态另类手机版av天堂看网| 娜娜麻豆国产电影| 精品无码专区久久久水蜜桃| 美女窝人体色www网站| 在线视频精品少白免费观看| 精品国产一区二区三区不卡在线 | 精品国产第一国产综合精品| 国产色秀视频在线播放| 亚洲av人妖一区二区三区| 一区二区在线观看日本免费| 国产自拍视频在线观看网站| 亚洲啪av永久无码精品放毛片| 久久久噜噜噜久久中文字幕色伊伊| 久久av一区二区三区下| 亚洲中文字幕乱码一二三| 伊甸园亚洲av久久精品| 国产精品黄在线观看免费软件| 亚洲色四在线视频观看| 国产二区中文字幕在线观看| 成人欧美一区二区三区黑人 | 中文字幕精品一区二区三区| 国产精品泄火熟女| 欧美做受视频播放| 国产成人亚洲合色婷婷|