在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為什么在計算機里Byte是從-128到127?

strongerHuang ? 來源:嵌入式專欄 ? 作者:嵌入式專欄 ? 2021-04-15 11:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

計算機是一個很神奇的東西,僅靠 0 和 1 就能運算、存儲等操作。那么,為什么Byte是從是從-128到127?

今天就給大家講講計算機二進制的一些內容。

1

計算機表示數據的規則這個問題的解釋要從符號位說起,在計算機的世界里,數字的表示采用的是二進制的規則,如果自然界只存在正數,那么計算機的編碼方式將無比簡單,直接就能使用二進制來表示。比如十進制的8,直接就用1000表示就可以。

但是自然界還存在負數,在現實社會中我們使用正號和負號來表示,但是對于計算機來說,要添加正號和負號不是那么容易的事情,會帶來電路復雜度成倍的上升。

于是,所謂的符號位出現了,采用最高位來表示符號位,0為正數,1為負數。我覺得本質上符號位就是為了解決計算機如何表示負數而出現的。

2

原碼、反碼、補碼

有了正數和負數,下面說說運算的問題,根據馮諾依曼計算機體系得知,一臺計算機由運算器,控制器,存儲器,輸入輸出設備組成,其中運算器只有加法運算器(其他的運算全部轉換成加法運算來完成),所以呢,計算機世界的減法只能用加法表示。

比如:4-2 只能用4+(-2)運算。

1.原碼-2怎么表示?最直觀的表示方法表示為1010,最高位是符號位。這樣的表示方式,我們稱為原碼表示法。然后我們就愉快的開始了運算。

4-2=0100+1010=1110=-62-2=0010+1010=1100=-4

很明顯結果是不對的,所以不能用原碼來表示負數。但是主要的問題是因為兩個相反數相加不等于0導致其他運算的結果錯誤。

假設解決了相反數相加等于0:4-2=2+2-2=2,那么其他的運算也是可以得到正確結果的。

2.反碼為了解決這個問題,我們引入了反碼。

負數是一個正數的相反數,所以我們將一個正數全部按位取反來表示一個負數,這種表示負數的方式就是反碼。

比如:2是0010,那么-2就是1101,然后我們再來開始愉快的運算之路。

4-2=0100+1101=0001(反碼)=0001=1

2-2=0010+1101=1111(反碼)=1000=-0

-4-2=1011+1101=1000(反碼)=1111=-7

-1-2=1110+1101=1011(反碼)=1100=-4

實驗發現除了兩個相反數相加稍微接近我們所熟知的結果,其他的結果簡直不忍直視,所以用反碼來表示負數也是不靠譜的。

實際上,反碼是可以用來做運算的。我們發現當符號位存在進位的時候,此時你的運算的結果可能跟你的預期是有差距的,但是是可以通過修正結算過程來達到期望的結果的。修正的方法就是如果符號位有進位的情況下,將進位加到結果的最后一位就可以對結果達成修正。

比如:4-2=0100+1101=0001+1=0010=2 結果正確-4-2=1011+1101=1000(反碼)+1=1001(反碼)=1110=-6 結果正確-1-2=1110+1101=1011(反碼)+1=1100(反碼)=1011=-3 結果正確

這說明反碼是可以用來進行減法計算的,但是需要付出額外的代價,并且沒有解決+0和-0的問題。

3.補碼怎么來解決負數的表示問題呢?偉大的科學家們觀察自然界的運行規律,總結出了兩個很牛逼的概念,一個叫“模”,一個叫“補數”。

3

官方術語:

“模”是指一個計量系統的計數范圍,如時鐘、日歷等。計算機也可以看成一個計量機器,它也有一個計量范圍。只要有一個計量范圍,即都存在一個“模”。

“模”實質上是計量器產生“溢出”的量,它的值在計量器上表示不出來,計量器上只能表示出模的余數。

比如:十二小時制的時鐘采用的是十二進制來表示時間,一到了12點,再向后就又從1開始了,所以12是時鐘系統的模。12是一個范圍,超過了十二一切從頭來過。

好多文章都說時鐘系統的計量范圍是0到11,但是沒有解釋為什么,我這邊猜測是因為時鐘采用的是12進制,如果不發生進位的話,那它就只能表示0到11這12個數。這跟我們的現實生活是對應得上的,我們一般講的12點其實是0點,所以12本來是在時鐘表示不出來的值,是一個溢出的量,但是為了方便人們的理解,才有了十二點的表示方式。

4

補數

民間解釋:

當M是系統的模的時候,如果|A|+|B|=M,我們就說A的補數是B,這個概念跟補角的概念類似,如果兩個角相加為180°,那么稱兩個角互補。(實際上補數還有一些別的解釋,但是目前我覺得這種解釋比較合理)。

說清楚了模和補碼,然后最重要的一個發現來了,在有模的系統中,減去一個數等于加上它的補數。還是以時鐘為例:如果我們把順時針看成正,把逆時針看成負,現在是2點,如果想要變成1點,可以逆時針轉一格,也可以順時針轉11格,寫成數學式子就是 2-1=2+11.

5

為什么?

除了補數可以解釋,還有說法是一個有模的系統里,如果發生數的溢出,那么溢出的這個數表示的數就是對M求模的結果(因為我們知道時鐘的取值范圍是0-11,超過了11,將又從0開始)。

2+11=1+12=1或者2+11=13 mod 12=1將時鐘遷移到計算機系統:比如一個4位的二進制,最多可以表示2^4=16個數,最大的數是1111=15,超過1111就會發生進位的情況,變成10000,因為只有四位,所以表示的是0000=0,然后再加一,變成0001=1,開始了循環,那么模的值就是16這個溢出的值。

有了上面的基礎,我們很輕松的就可以將減法直接變成加法來計算。

對于byte來說就是七位,七位正數最大的就是1111111 轉換成十進制就是127,從 2的0次方加到2的6次方。

然后負數呢,涉及到負數的編碼方式:

這里模是256,所以10000000到11111111其實表示的范圍是-128到-1,因為10000000是128,補數是-128,11111111是255,補數是-1。所以,byte的范圍是-128到127,一共256個數。

原文標題:為什么Byte是從-128到127?

文章出處:【微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7644

    瀏覽量

    166996
  • 計算機
    +關注

    關注

    19

    文章

    7650

    瀏覽量

    90563

原文標題:為什么Byte是從-128到127?

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Quantinuum“Reimei”量子計算機RIKEN正式運行

    )成功安裝并全面投入運行。 此次合作中,RIKEN為“Reimei”量子計算機提供了世界級的基礎設施,包括為其量身定制的設計、準備及交付工作。這一程碑式的成就不僅標志著Quantinuum量子
    的頭像 發表于 02-17 10:21 ?438次閱讀

    工業中使用哪種計算機

    工業環境中,工控機被廣泛使用。這些計算機的設計可承受極端溫度、灰塵和振動等惡劣條件。它們比標準消費類計算機更耐用、更可靠。工業計算機可控制機器、監控流程并實時收集數據。其堅固的結構和
    的頭像 發表于 11-29 14:07 ?680次閱讀
    工業中使用哪種<b class='flag-5'>計算機</b>?

    量子計算機與普通計算機工作原理的區別

    超越世界上最強大的超級計算機,完成以前不可想象的任務!這意味著量子計算機可能會徹底改變我們的生活。 本文中,我們將先了解普通計算機的工作原理,再深入探討量子
    的頭像 發表于 11-24 11:00 ?1412次閱讀
    量子<b class='flag-5'>計算機</b>與普通<b class='flag-5'>計算機</b>工作原理的區別

    工業計算機類型介紹

    ,各行各業80%的企業依靠計算機進行日常運營,使其成為成功不可或缺的工具。從小型企業大型企業,計算機已成為工業領域的支柱,推動著增長并推動企業向前發展。本文中,我們將
    的頭像 發表于 11-04 15:56 ?641次閱讀
    工業<b class='flag-5'>計算機</b>類型介紹

    工業中使用哪種類型的計算機

    工業計算機:穩健應用的基本解決方案各行各業對強大計算解決方案的需求日益增長,導致人們高度依賴工業計算機。這些專用系統專為典型消費級電腦無法適應的環境而設計。制造業
    的頭像 發表于 10-22 17:10 ?674次閱讀
    工業中使用哪種類型的<b class='flag-5'>計算機</b>?

    計算機接口位于什么之間

    計算機接口是計算機硬件和軟件之間、計算機與外部設備之間以及計算機各部件之間傳輸數據、控制信息和狀態信息的硬件設備和軟件程序。它在計算機系統中
    的頭像 發表于 10-14 14:02 ?1237次閱讀

    信號繼電器計算機系統中的應用

    信號繼電器計算機系統中的應用是一個重要且復雜的領域,它作為電氣控制的關鍵元件,計算機系統中發揮著信號轉換、隔離、放大以及控制等多種作用。以下將從信號繼電器的基本概念、工作原理、特性
    的頭像 發表于 09-27 16:29 ?899次閱讀

    計算機存儲系統的構成

    計算機存儲系統是計算機中用于存放程序和數據的設備或部件的集合,它構成了計算機信息處理的基礎。一個完整的計算機存儲系統通常包括多個層次的存儲器,從高速緩存(Cache)
    的頭像 發表于 09-26 15:25 ?2484次閱讀

    簡述計算機總線的分類

    計算機總線作為計算機系統中連接各個功能部件的公共通信干線,其結構和分類對于理解計算機硬件系統的工作原理至關重要。以下是對計算機總線結構和分類的詳細闡述,內容將涵蓋總線的基本概念、內部結
    的頭像 發表于 08-26 16:23 ?5094次閱讀

    晶體管計算機和電子管計算機有什么區別

    晶體管計算機和電子管計算機作為計算機發展史上的兩個重要階段,它們多個方面存在顯著的區別。以下是對這兩類計算機
    的頭像 發表于 08-23 15:28 ?3535次閱讀

    邊沿觸發器計算機中的應用

    邊沿觸發器計算機中的應用極為廣泛,它們作為數字電路中的基本單元,對于實現計算機內部的時序控制、數據存儲與傳輸、以及復雜邏輯功能等方面起著至關重要的作用。以下將從邊沿觸發器的定義、特點、工作原理及其
    的頭像 發表于 08-12 14:20 ?1255次閱讀

    DRAM計算機中的應用

    DRAM(Dynamic Random Access Memory,動態隨機存取存儲器)計算機系統中扮演著至關重要的角色。它是一種半導體存儲器,用于存儲和快速訪問數據,是計算機主內存的主要組成部分。以下是對DRAM
    的頭像 發表于 07-24 17:04 ?2893次閱讀

    計算機視覺的工作原理和應用

    計算機視覺(Computer Vision,簡稱CV)是一門跨學科的研究領域,它利用計算機和數學算法來模擬人類視覺系統對圖像和視頻進行識別、理解、分析和處理。其核心目標在于使計算機能夠像人類一樣,
    的頭像 發表于 07-10 18:24 ?3333次閱讀

    計算機視覺和圖像處理的區別和聯系

    計算機視覺和圖像處理是兩個密切相關但又有明顯區別的領域。 1. 基本概念 1.1 計算機視覺 計算機視覺是一門研究如何使計算機能夠理解和解釋視覺信息的科學。它涉及
    的頭像 發表于 07-09 09:16 ?2196次閱讀

    計算機視覺屬于人工智能嗎

    屬于,計算機視覺是人工智能領域的一個重要分支。 引言 計算機視覺是一門研究如何使計算機具有視覺能力的學科,它涉及圖像處理、模式識別、機器學習等多個領域。
    的頭像 發表于 07-09 09:11 ?2131次閱讀
    主站蜘蛛池模板: 正在播放91大神调教偷偷 | 伊人久久99 | 特级黄视频 | ts国产 | 日本黄色网址视频 | 久久久久99精品成人片三人毛片 | 天天射天天干天天插 | 色综合久久88色综合天天 | 久久国产乱子伦精品免费强 | 色婷婷亚洲精品综合影院 | 88av在线视频 | 性叉叉 | 欧美一级视频在线 | 全部免费特黄特色大片视频 | 男人的天堂一区二区视频在线观看 | 亚洲午夜在线观看 | 五月亭亭六月丁香 | 亚洲天天综合 | 老色批在线播放视频网站免费 | 午夜免费视频观看 | 综合成人在线 | 午夜视频网址 | 好看的一级毛片 | 手机在线看福利 | 欧美做a欧美 | 夜夜夜爽爽爽久久久 | 亚洲精品免费视频 | 亚洲91精品| 91久娇草| 一区二区三区在线观看视频 | 一二三区在线视频 | 伊人久久大香线蕉综合网站 | 国产一区二区高清 | 明日花在线观看 | 欧美尺寸又黑又粗又长 | 免费看大尺度视频在线观看 | 午夜看片在线 | 天堂成人一区二区三区 | 啪啪福利视频 | 日本黄色片视频 | 国产乱码精品一区二区 |