補碼
發(fā)布時間:2014/6/1 21:35:03 訪問次數:2106
算術運算是計算機基本且重要的功能,必須克服原碼運算的缺點, QFS-052-01-L-D-A讓符號位也能直接參與運算,在計算機中廣泛采用的方法是補碼。補碼是以模運算為基礎的一種碼制,具有良好的特點。以整數為例,補碼的表示方法是:如果數是正數,則其補碼形式同其原碼形式相同;如果數是負數,則首先得到負數的原碼,然后除原碼符號位外,其余所有位取反,然后在末位加1。
以時鐘為例引出補碼的定義。常見的圓盤時鐘是以12為計數循環(huán)的,表盤上的數從1—12。
12點也可以看成是0點,所以也可認為表盤上的數是從0~11的。假設當前為0點,以時
針為研究對象,分別進行如下操作。
(1)順時針旋轉9格,時針指向9點。
(2)逆時針旋轉3格,時針也指向9點。
可見,上面兩個操作的效果是一樣的,都使時針指向了相同的位置。操作不同,而結論相同的原因是,圓盤時鐘上的時針是圓周運動的,其指向始終在0~11之間變化,即時針的讀數是以12為模的。
將正數、負數的概念剖入時鐘轉動,順時針旋轉定義為正向旋轉,相當于執(zhí)行加法運算;逆時針旋轉定義為反向旋轉,相當于執(zhí)行減法運算。則操作(1)相當于在原來的基礎上執(zhí)行了+9操作,操作(2)相當于在原來的基礎上執(zhí)行了一3操作。換句話說,在模12的前提下,+9和一3具有相同的作用。更進一步說,在模12的前提下,一3可以映射為+9,它們互為模數。
另一個很有代表性且容易理解的例子是三角函數中用到的圓周。圓周從1!360。,
或者認為是從0。—359。。顯然圓周的模是360。按照上面時鐘的思路,從O。順時針旋轉330。和逆時針旋轉30。,效果是一樣的。可以說,在模360的前提下,-30可以映射為330,它們互為模數。
從數學上看,以上兩個例子都是有模運算。計算機運算時用到的寄存器也是有一定字長限制的,因此它的運算也是有模運算。
算術運算是計算機基本且重要的功能,必須克服原碼運算的缺點, QFS-052-01-L-D-A讓符號位也能直接參與運算,在計算機中廣泛采用的方法是補碼。補碼是以模運算為基礎的一種碼制,具有良好的特點。以整數為例,補碼的表示方法是:如果數是正數,則其補碼形式同其原碼形式相同;如果數是負數,則首先得到負數的原碼,然后除原碼符號位外,其余所有位取反,然后在末位加1。
以時鐘為例引出補碼的定義。常見的圓盤時鐘是以12為計數循環(huán)的,表盤上的數從1—12。
12點也可以看成是0點,所以也可認為表盤上的數是從0~11的。假設當前為0點,以時
針為研究對象,分別進行如下操作。
(1)順時針旋轉9格,時針指向9點。
(2)逆時針旋轉3格,時針也指向9點。
可見,上面兩個操作的效果是一樣的,都使時針指向了相同的位置。操作不同,而結論相同的原因是,圓盤時鐘上的時針是圓周運動的,其指向始終在0~11之間變化,即時針的讀數是以12為模的。
將正數、負數的概念剖入時鐘轉動,順時針旋轉定義為正向旋轉,相當于執(zhí)行加法運算;逆時針旋轉定義為反向旋轉,相當于執(zhí)行減法運算。則操作(1)相當于在原來的基礎上執(zhí)行了+9操作,操作(2)相當于在原來的基礎上執(zhí)行了一3操作。換句話說,在模12的前提下,+9和一3具有相同的作用。更進一步說,在模12的前提下,一3可以映射為+9,它們互為模數。
另一個很有代表性且容易理解的例子是三角函數中用到的圓周。圓周從1!360。,
或者認為是從0!359。。顯然圓周的模是360。按照上面時鐘的思路,從O。順時針旋轉330。和逆時針旋轉30。,效果是一樣的?梢哉f,在模360的前提下,-30可以映射為330,它們互為模數。
從數學上看,以上兩個例子都是有模運算。計算機運算時用到的寄存器也是有一定字長限制的,因此它的運算也是有模運算。
上一篇:帶符號數表示
上一篇:正數的補碼形式同原碼形式相同