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

原碼、反碼、補碼小程序的設計與實現

2020-07-29 12:35:24趙煜馬萌
計算機與網絡 2020年13期

趙煜 馬萌

摘要:從機器碼出發,介紹了原碼、反碼、補碼的定義以及三者之間的內在聯系,由于原碼在加減運算中的不足引入了補碼,為了方便求得補碼又引入了反碼,從而清晰地展示了三者編碼之間的聯系,使用VEE可視化語言實現了三者之間的轉化,通過2種方法介紹了負數原碼、反碼、補碼之間的程序設計過程,并且介紹了機器數之間的加減運算方法,以及具體運算過程,使用人工算法驗證了該程序設計的正確性。

關鍵詞:原碼;反碼;補碼;運算過程

中圖分類號:TP316文獻標志碼:A文章編號:1008-1739(2020)13-56-4

0引言

計算機能夠按照程序自動運算和快速處理大量數據,既可以進行數值計算,又可以進行邏輯計算,還有存儲記憶的功能,其中處理的大量數據包括加減乘除運算的數值型數據和不能進行運算的非數值型數據。為了達到方便、容易區分和存儲等要求,計算機內部使用二進制存儲數據。

計算機中需要原碼、補碼和反碼3種編碼,和計算機的硬件有關,二進制的加法,一個異或門就能實現,多位加法器的實現很容易,然而減法沒有找到直接的硬件,但是通過補碼能把減法轉換成加法來做,這樣一種硬件執行結構就可以實現加與減2種基本運算。這樣就出現了補碼,對補碼的求解過程,其中一個步驟就剛好形成了反碼,反碼是原碼轉換成補碼的過渡碼。

1原碼、反碼、補碼的基本概念

一個數在計算機中的二進制表示形式叫做這個數的機器數,機器數是帶符號的,計算機用機器數的最高位放符號位,正數為0,負數為1。因為第一位是符號位,所以機器數的形式值就不等于真正的數值,將帶符號的機器數對應的真正數值稱為機器數的真值。原碼、反碼、補碼是機器存儲一個具體數字的編碼方式,就是為了理解計算機使用二進制進行計算的原理[1]。

原碼是機器數中最簡單的一種形式,原碼由符號位和數值位兩部分構成。數值位部分均保持原來的樣子,不需改變。如果是正數,最前面的0視為符號位;如果是負數,最前面的1視為符號位,數值位就是真值的絕對值,原碼又稱帶符號的絕對值。原碼進行加減運算時,一個正數和一個負數運算時的結果可能為正也可能為負,而且是絕對值進行比較,這樣相對很不方便,因此引入了補碼。

反碼通常是用來由原碼求補碼或者由補碼求原碼的過渡碼,反碼跟原碼是正數時一樣;負數時,反碼就是原碼符號位除外,其他位按位取反。

補碼是計算機把減法運算轉化為加法運算的關鍵編碼,正數的補碼是它本身,負數的補碼是除符號位,原碼取反加1。

2算法設計過程

2.1 VEE可視化語言

HP VEE是一種主要用于儀器控制和測量處理的可視化編程語言,自1990年以圖形化界面和數據流編程為核心的1.0版由HP公司正式發布以來,提升6.0位核心,集成儀器設備控制、高級數據采集以及處理、數據分析等眾多先進技術,可用于Windows,SUN,Unix等多種平臺的測試軟件開發環境。

HP VEE具有以下主要特點:①圖形化編程;②豐富的儀器I/O驅動;③虛擬儀器測試;④自動數據類型轉化;⑤強大的數學分析能力;⑥開放的編程環境;⑦網絡支持。此外,VEE還是一種基于圖形式開發、調試和運行程序的集成化環境,其基本編程單元是一系列的圖形化功能控件,每個控件都存在一個或多個輸入、輸出端口,選擇合適的端口進行連接,即可完成程序的運行流程。本文主要使用VEE可視化語言實現原碼、補碼和反碼相互轉換關系的設計過程,展示原碼、補碼和反碼相互轉換關系。

2.2具體實施過程

由于正數的原碼、反碼、補碼都相同,因此正數的轉換相對簡單,直接符號位為0,真值不變即可。

2.3程序實現原碼、反碼、補碼轉換過程

(1)使用定義法實現負數原碼、反碼、補碼之間的轉化

原碼轉化為二進制,取反為反碼,再加1為補碼。具體使用VEE語言實現程序設計過程為:可選擇要轉化數的類型,可選擇十進制數或二進制數。如果是十進制數需要轉換成二進制然后進行求反碼和補碼。十進制轉二進制使用除二法,即div函數和mod函數,被轉換數循環執行div/2,并且每個數需要取mod,即除二取余,然后將這些數轉化為字符串加起來,即實現了十進制轉二進制數。

需要字符串轉數組及取反,字符串轉數組首先用到strFromLen(str,from,len)函數,輸入str為整個字符串,from是從第幾個字符開始取,len是要取得的字符長度。其次,字符串轉數組要用到Collector函數,該函數實現從strFromLen(str, from,len)函數中取得的單個字符收集起來,組成一個數組,其中Collector函數中Data為單個字符輸入,XEQ為輸出觸發,字符串轉數組取反即將0輸出為1,1輸出為1,即完成了原碼轉反碼的過程。反碼轉補碼需要再加1,此處使用二進制轉十進制,然后加1再轉為二進制的辦法,二進制轉十進制使用bits(str)函數,即乘2相加法,上述為使用定義法實現原碼、反碼、補碼之間的轉化。

(2)先求模,然后求反碼和補碼

補碼設計流程如圖1所示。

2.4補碼實現運算過程

CPU中有加法器但沒有減法器,通過寫出一位全減器的真值表,設計出硬件電路并將其級聯,可得到一個減法器,但是大部分情況設計一個減法器還不如用加法器替代,將減數取反加一與被減數相加即可把減法運算轉化為加法,將減數取反加一的操作就是將負數用補碼的形式表示,也就是用補碼這種數值編碼方式實現了將減法轉變為加法的。

上邊已經講述了補碼的計算過程,在進行加減運算時只要將減法轉化為加法,然后使用補碼計算即可,計算結果再由補碼轉化為原碼即為真實計算結果。

為了便于理解,以鐘表來表示,鐘表中12點倒退3點就是9點,超過12點重新使用1~12來表示,12是鐘表的模,順時針代表溢出,超過12為溢出,比如10點加5點,為:10+5=15,溢出12,15-12為3點。逆時針為減法,3點往后倒5點從鐘表中不難看出是10點,這里減5 h,其實就是計算機中的補碼,即12-5,對應7,將減法轉化為加法,即3+(12-5)為10點,便于將減法轉為加法,“模”的特征為減去一個數等價于加上這個數的補數,計算機引入了模,以負數為例,0> >=-2 ,此時模為2+1。

鐘表中,如果9點+8點=17點對應鐘表的5點,此處即有一個溢出的概念,在計算機中也存在溢出,溢出即一個位二進制的補碼,其表達范圍是-2-1+1~2-1-1,如果超出這個范圍就稱為溢出。

符號位有00,01,11,10四種可能,其中00,01代表正數;11,10代表負數;01為正溢出,10為負溢出。

分別以符號位為00,01,11,10四種舉例說明,運算示意表如表2所示。

3實驗仿真

使用十進制數進行一組加減,然后手動算法與設計算法進行比較。比如5+(-7),計算結果為-2,使用概念計算:

4結束語

討論了原碼、反碼、補碼的轉化過程,簡單介紹了如何使用程序來實現轉換過程。具體說明了使用補碼的運算過程,并且針對溢出問題進行了舉例說明,并給出了根據溢出結果得到正確結果的方法。學習是一個不斷積累的過程,在深入理解原碼、反碼和補碼3種編碼之間相互關系的同時,對計算機中數值的理解變得更加容易,能輕松地進行原碼、反碼、補碼的相互轉化,并且可以實現運算。

參考文獻

[1]唐朔飛.計算機組成原理:第2版[M].北京:高等教育出版社, 2012.

[2]羅嘉慶,周世杰,徐潔.原碼、反碼和補碼的教學探討[J].計算機教育,2015(10):42-45.

[3]孫麗.計算思維下再談補碼設計思想[J].電腦知識與技術, 2015,11(29):70-71.

[4]聽雨軒工作室.AgilentVEE虛擬儀器工程設計與開發[M].北京:國防工業出版社,2004.

[5]楊學穎,周建業.計算機補碼概念探究[J].河南科技學院學報(自然科學版),2011,39(3):90-94.

[6]哈馬克.計算機組成與嵌入式系統:第6版[M].王國華,譯.北京:機械工業出版社,2013.

主站蜘蛛池模板: 欧美高清国产| 久久中文字幕不卡一二区| 美女视频黄又黄又免费高清| 色噜噜狠狠狠综合曰曰曰| 成人亚洲国产| 亚洲综合网在线观看| 看国产毛片| 成人字幕网视频在线观看| 91成人在线观看| 综合亚洲网| 久久亚洲高清国产| 国产欧美日韩一区二区视频在线| 久久精品国产精品青草app| 亚洲欧美激情另类| 亚洲国产91人成在线| 国产凹凸一区在线观看视频| 亚洲综合第一页| 国产一级视频久久| 在线免费看片a| 国产乱子伦视频三区| 亚洲天堂高清| 日本道综合一本久久久88| 美女一级毛片无遮挡内谢| 中文字幕人妻无码系列第三区| 人人妻人人澡人人爽欧美一区| 伊人久综合| 国产成人综合网| 国产日本欧美亚洲精品视| 91福利在线观看视频| 99热最新在线| 欧美国产日韩在线播放| 激情综合婷婷丁香五月尤物| 国产亚洲精品资源在线26u| 波多野结衣视频一区二区| 亚洲精品无码av中文字幕| 国产日韩欧美黄色片免费观看| 91成人在线免费视频| 国产国语一级毛片在线视频| 久久永久精品免费视频| 国产视频自拍一区| 成人久久精品一区二区三区| 亚洲精品自产拍在线观看APP| 日韩色图在线观看| 精品无码人妻一区二区| 亚洲人成影院午夜网站| 精品伊人久久久久7777人| 色偷偷一区二区三区| 青青青国产免费线在| 久久精品视频一| 国产在线欧美| 丁香六月激情综合| 人妻中文字幕无码久久一区| 99re精彩视频| 亚洲精品无码成人片在线观看| 欧美国产日韩在线观看| 亚洲国产精品无码久久一线| 中文字幕亚洲电影| 国产一区二区三区免费观看 | 草草影院国产第一页| 国产成人亚洲欧美激情| 亚洲三级色| 中文字幕永久视频| 91精品国产情侣高潮露脸| 91小视频在线观看| 日韩精品欧美国产在线| 激情综合网址| 狠狠色狠狠色综合久久第一次| 色爽网免费视频| 国产在线观看人成激情视频| 天堂av高清一区二区三区| 国产精品9| 一级毛片在线免费视频| 国产激爽大片在线播放| 国产毛片片精品天天看视频| 蝴蝶伊人久久中文娱乐网| 亚洲中文在线视频| 免费国产一级 片内射老| 黄色免费在线网址| 东京热一区二区三区无码视频| 免费人成网站在线观看欧美| 欧美日韩免费在线视频| 在线观看91精品国产剧情免费|