原碼 反碼 補碼

一.機器數和真值

機器數:

由于一些硬件的限制計算機只能識別二進制數據,因此在計算機中只會存儲二進制數據;機器數是帶符號的,在計算機用一個數的最高位存放符號, 正數為0, 負數為1.

比如,十進制中的數 +7,計算機字長為8位,轉換成二進制就是00000111。如果是 -7 ,就是 10000111 。這里的00000111和10000111就是機器數。

真值:

從上面可以知道機器數形式上的二進制數據直接轉換成十進制并不是真值,由于高位為符號位;如上面10000111表示135并不是真值,而是+7

二. 原碼, 反碼, 補碼的基礎概念和計算方法.

1. 原碼
原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其余位表示值. 比如如果是8位二進制:


[+1]原 = 0000 0001
[-1]原 = 1000 0001

第一位是符號位. 因為第一位是符號位, 所以8位二進制數的取值范圍就是:
[1111 1111 , 0111 1111]

[-127 , 127]
原碼人是可以直接計算出來真值的

2. 反碼

反碼的表示方法是:

正數的反碼是其本身
負數的反碼是在其原碼的基礎上, 符號位不變,其余各個位取反.

[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反

可見如果一個反碼表示的是負數, 人是無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算.

3. 補碼

補碼的表示方法是:
正數的補碼就是其本身
負數的補碼是在其原碼的基礎上, 符號位不變, 其余各位取反, 最后+1. (即在反碼的基礎上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]補
[-1] = [10000001]原 = [11111110]反 = [11111111]補

對于負數, 補碼表示方式也是人腦無法直觀看出其數值的. 通常也需要轉換成原碼在計算其數值.


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273325.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273325.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273325.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSS 設計指南(第3版) 初讀筆記

第1章 HTML標記與文檔結構 關于<title>標簽&#xff1a;搜索引擎會給<title>標簽中的文字內容賦予很高的權重。而且這些文字也會作為網頁標題出現在搜索結果列表中。 無論你想了解哪個HTML元素&#xff0c;第一個要問的問題都應該是&#xff1a;它是塊元素&#xf…

win7安裝python開發環境,運行python

在win7上安裝python的開發環境是非常簡單的事情 Step1&#xff1a;下載python安裝文件 url&#xff1a;https://www.python.org/download 去這里找到你想要下載的文件 Step2&#xff1a;安裝 windows上當然是傻瓜式安裝了&#xff0c;你還在糾結什么呢 Step3&#xff1a;…

HC-05藍牙模塊基本使用

1.進入AT模式 EN輸入高電平按住按鍵不放,然后上電,進入AT模式,不過AT指令只能輸入一次,下次再輸入AT需要重新進入 2.串口波特率設為38400,進行AT模式下的指令操作 3.基本AT指令 ATORGL   恢復出廠設置 ATNAME newName  修改藍牙名字 ATROLE0/1/2  0:從模式 1:主模式 2:回…

Objective-C中的@property和@synthesize用法

代表“Objective-C”的標志&#xff0c;證明您正在使用Objective-C語言 Objective-C語言關鍵詞&#xff0c;property與synthesize配對使用。 功能&#xff1a;讓編譯好器自動編寫一個與數據成員同名的方法聲明來省去讀寫方法的聲明。 如&#xff1a; 1、在頭文件中&#xff1a;…

c++11編碼規范 NULL還是nullptr

0和nullptr/NULL 至于指針&#xff08;地址值&#xff09;&#xff0c;根據實際選擇用0、NULL還是nullptr。對使用了C11特性的項目&#xff0c;選用nullptr&#xff1b;對于C03項目&#xff0c;推薦NULL&#xff0c;因為它像是一個指針轉載于:https://www.cnblogs.com/JD85/p/4…

Android用戶界面程序設計示例

[例1]按鈕和Toast彈出對話框 1 [例2] TextView文本框 &#xff08;1&#xff09; 3 [例3]TextView文本框 &#xff08;2&#xff09; 4 [例4]編輯框EditText 4 [例5]單選RadioButton 6 [例6]Toast的用法簡介 8 [例7]多選checkbox 12 [例8]菜單Menu 14 …

innerText,outerText,innerHTML,outerHTML區別

document.body.innerHTML&#xff1b; innerText&#xff0c;outerText&#xff0c;innerHTML&#xff0c;outerHTML資料outerHTML&#xff1a;標簽對象外部的HTML文本(包括該標簽) innerHTML&#xff1a;標簽對象內部的HTML文本(不包括該標簽) innerText: 標簽對象內部的…

Ubuntu安裝adobe字體

Ubuntu的字體目錄存放在/usr/share/fonts目錄下&#xff0c;可以看到該目錄下有4個目錄&#xff0c; 12$ ls /usr/share/fonts/cmap truetype type1 X11我們在truetype目錄下新建一個adobe的目錄來存放需要安裝的Adobe中文字體&#xff0c;并把已經下載好的字體復制到該目錄…

Spring Thread Pool 線程池的應用

Spring and Java Thread example 掃掃關注“茶爸爸”微信公眾號堅持最初的執著&#xff0c;從不曾有半點懈怠&#xff0c;為優秀而努力&#xff0c;為證明自己而活。Download it – Spring-Thread-Example.zip (22 KB)轉自&#xff1a;http://www.mkyong.com/spring/spring-and…

數據庫操作類型簡介

SQL語言大體上可以分為四大類&#xff1a; 數據查詢語言&#xff08;DQL&#xff09;&#xff0c;數據操縱語言&#xff08;DML&#xff09;&#xff0c;數據定義語言&#xff08;DDL&#xff09;&#xff0c;數據控制語言&#xff08;DCL&#xff09;。 1. 數據查詢語言DQL數…

Emule使用Upnp,解決Lowid和port not reachable的問題

路由器上鉤選開啟Upnp Emule->選擇->擴展選項->Upnp&#xff0c; 服務器&#xff1a;【從URL更新】http://upd.emule-security.org/server.met轉載于:https://www.cnblogs.com/zhyong/p/4422139.html

Longest Palindromic Substring

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. 題目描述很簡單&#xff0c;就是尋找一個字符串的最大回文。 1.暴力搜索 窮舉所有的可能…

Integer 中的緩存類IntegerCache

2014年去某公司筆試的時候遇到這么一道題&#xff1a; public class Test {public static void main(String[] args) {Integer int1 Integer.valueOf("100");Integer int2 Integer.valueOf("100");System.out.println(int1 int2);} } 問打印的結果的多少…

Android動畫及滑動事件沖突解決(轉載)

原文鏈接&#xff1a;http://blog.csdn.net/singwhatiwanna/article/details/38168103 Android開發中動畫和事件處理是程序員邁向高手的必經之路&#xff0c;也是重點和難點。 此篇轉載文章思路清晰&#xff0c;結構合理&#xff0c;用圖文混合的方式完美的講解了動畫和事件沖突…

在main函數前后執行的函數之 C語言

在gcc中&#xff0c;可以使用attribute關鍵字&#xff0c;聲明constructor和destructor&#xff0c;來指定了函數在main之前或之后運行,代碼如下&#xff1a; 1 #include <stdio.h>2 3 __attribute((constructor)) void before_main()4 {5 printf("%s/n",_…

VSTO開發,轉帖

http://www.cnblogs.com/oneivan/p/4243574.html轉載于:https://www.cnblogs.com/xianerwonder/p/4432595.html

PowerDesigner的漢化破解安裝到逆向工程(ORACLE)

一、軟件安裝 1、下載軟件并安裝安裝16.5漢化版下載地址&#xff1a;真正的漢化-PowerDesigner 16.5 漢化&#xff08;包含安裝文件和漢化文件&#xff09; 破解包下載地址&#xff1a;PowerDesigner V16.5 安裝文件 及 破解文件 &#xff08;包含安裝文件和破解文件&#xff0…

JAVA開發隨記

想到一點寫一點&#xff0c;遇到一點補充一點。 1、成員變量 在定義成員變量時盡量不要直接賦值&#xff0c;最好是在初始化信息的時候進行賦值操作。如果需要在屬性定義的時候進行賦值&#xff0c;那么請用final修飾該屬性。錯誤實例 class A extends B {/** 到期日距離當前…

PHP反射ReflectionClass、ReflectionMethod 入門教程

PHP反射ReflectionClass、ReflectionMethod 入門教程 作者&#xff1a;SNSGOU 發布于&#xff1a;2014-03-16 16:44:00 分類&#xff1a;PHP 瀏覽(6145) PHP5 具有完整的反射API&#xff0c;添加對類、接口、函數、方法和擴展進行反向工程的能力。 反射是什么&#xff…

Oracle開發常用知識

一、利用游標實現循環嵌套 在對oracle數據進行操作時我們會經常碰到循環甚至循環嵌套的情況。這個時候游標的作用就體現出來了。 DECLAREvId NUMBER(19);vDate DATE;--a表游標定義CURSOR a_cursor ISSELECT DISTINCT o.employeeId FROM operations o WHERE o.employeeId IS N…