欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

十進(jìn)制負(fù)數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制、十六進(jìn)制的知識(shí)分享

 更新時(shí)間:2014年02月04日 16:50:38   作者:  
這篇文章主要介紹了十進(jìn)制負(fù)數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制、十六進(jìn)制的知識(shí)分享,需要的朋友可以參考下

程序猿們或許對(duì)二進(jìn)制都不陌生,二進(jìn)制是計(jì)算技術(shù)中廣泛采用的一種數(shù)制。二進(jìn)制數(shù)據(jù)是用0和1兩個(gè)數(shù)碼來(lái)表示的數(shù)。但是很多人都會(huì)將二進(jìn)制轉(zhuǎn)換成整數(shù),但是如何用二進(jìn)制表示負(fù)數(shù)呢?有的人會(huì)說(shuō),在二進(jìn)制前面加個(gè)負(fù)數(shù)符合。而計(jì)算機(jī)只能認(rèn)識(shí)0 和 1,又怎么去加個(gè)額外的負(fù)數(shù)符號(hào)呢?于是我們就需要用0和1來(lái)表示負(fù)數(shù)。如果想要弄懂這個(gè),我們需要先了解什么是二進(jìn)制原碼。

原碼是什么

原碼(true form)是一種計(jì)算機(jī)中對(duì)數(shù)字的二進(jìn)制定點(diǎn)表示方法。原碼表示法在數(shù)值前面增加了一位符號(hào)位(即最高位為符號(hào)位):正數(shù)該位為0,負(fù)數(shù)該位為1(0有兩種表示:+0和-0),其余位表示數(shù)值的大小。

簡(jiǎn)單直觀;例如,我們用8位二進(jìn)制表示一個(gè)數(shù),+11的原碼為00001011,-11的原碼就是10001011

原碼不能直接參加運(yùn)算,可能會(huì)出錯(cuò)。例如數(shù)學(xué)上,1+(-1)=0,而在二進(jìn)制中00000001 + 10000001 = 10000010,換算成十進(jìn)制為-2。顯然出錯(cuò)了。

二進(jìn)制原碼、補(bǔ)碼和反碼
二進(jìn)制原碼、補(bǔ)碼和反碼

十進(jìn)制如何轉(zhuǎn)換成二進(jìn)制

我們?nèi)绾伟咽M(jìn)制的-3,轉(zhuǎn)換成二進(jìn)制表示呢?首先我們將 -3 的絕對(duì)值 +3 轉(zhuǎn)換成二進(jìn)制,假設(shè)是為int類(lèi)型(32位)的,那么二進(jìn)制表示為:

0000 0000 0000 0000 0000 0000 0000 0011

負(fù)數(shù)轉(zhuǎn)換成二進(jìn)制分為3步:

1、 首先將負(fù)數(shù)轉(zhuǎn)換為對(duì)應(yīng)的原碼

-3 的原碼為(也就是+3轉(zhuǎn)換成二進(jìn)制后的字符串):

0000 0000 0000 0000 0000 0000 0000 0011

2、 再將原碼的每一位做取反操作得到反碼。

取反操作:0變?yōu)? 、 1變?yōu)?;取反后的結(jié)果即為:

1111 1111 1111 1111 1111 1111 1111 1100

3、 將反碼+1得到補(bǔ)碼

1111 1111 1111 1111 1111 1111 1111 1101

現(xiàn)在用Windows自帶的計(jì)算器來(lái)驗(yàn)證一下,Win+R 輸入calc,將計(jì)算器改為程序員,選擇雙字(4字節(jié),32位)

打開(kāi)Windows自帶的計(jì)算器科學(xué)計(jì)算功能
打開(kāi)Windows自帶的計(jì)算器科學(xué)計(jì)算功能

在計(jì)算器中選擇十進(jìn)制,之后輸入 -3 :

Windows自帶的計(jì)算器科學(xué)計(jì)算十進(jìn)制下輸入-3
Windows自帶的計(jì)算器科學(xué)計(jì)算十進(jìn)制下輸入-3

再點(diǎn)擊二進(jìn)制轉(zhuǎn)換,將十進(jìn)制下的-3轉(zhuǎn)換成二進(jìn)制:

轉(zhuǎn)換十進(jìn)制-3為二進(jìn)制
轉(zhuǎn)換十進(jìn)制-3為二進(jìn)制

二進(jìn)制轉(zhuǎn)十進(jìn)制負(fù)數(shù)問(wèn)題

正常情況下,轉(zhuǎn)換二進(jìn)制到十進(jìn)制都是沒(méi)有任何問(wèn)題的。而在類(lèi)似 Javascript / PHP 等整數(shù)類(lèi)型中,一般 int /integer 都有位數(shù)限制,一般都是32位長(zhǎng)度。也就預(yù)示著,這些語(yǔ)言中,整數(shù)是有最大值的,而32位最大整數(shù)極限為:2147483647,也就是二進(jìn)制:

01111111111111111111111111111111

那么就很容易理解,32位二進(jìn)制,第一位數(shù)為0的時(shí)候,就表示這個(gè)是一個(gè)正數(shù),而如果是1,那么就表示這個(gè)是負(fù)數(shù)。

32位二進(jìn)制 11111111111111111111111111111001 十進(jìn)制值是什么?

11111111111111111111111111111001

如上,二進(jìn)制長(zhǎng)度為32位,也就是這個(gè)整數(shù)是一個(gè)負(fù)數(shù),先取反,得到反碼:

00000000000000000000000000000110

反碼+1,得到:

00000000000000000000000000000111

轉(zhuǎn)換成十進(jìn)制:7

由于是負(fù)數(shù),所以加個(gè)負(fù)號(hào),轉(zhuǎn)換成 -7

趣味:32位二進(jìn)制 1111111111111111111111111111001 十進(jìn)制值是什么?

這個(gè)是個(gè)比較有趣的,千萬(wàn)不要誤導(dǎo)為上面這是一個(gè)負(fù)數(shù),其實(shí)這個(gè)是個(gè)整數(shù),因?yàn)檫@里只有31位,需要在前面加0,補(bǔ)足32位,變成:

01111111111111111111111111111001
十進(jìn)制負(fù)數(shù)轉(zhuǎn)八進(jìn)制、十六進(jìn)制

負(fù)數(shù)轉(zhuǎn)換成八進(jìn)制、十六進(jìn)制,只需在補(bǔ)碼(二進(jìn)制)的基礎(chǔ)上,3位合成一位計(jì)算,或者4位合成一位計(jì)算

-3的轉(zhuǎn)換成二進(jìn)制為:

1111 1111 1111 1111 1111 1111 1111 1101

八進(jìn)制則將-3的二進(jìn)制從右至左每3位為一個(gè)單元,不夠三位用0補(bǔ) 即:

011 111 111 111 111 111 111 111 111 111 101

計(jì)算每一個(gè)單元,結(jié)果為:37777777775

十六進(jìn)制則將-3的二進(jìn)制從右至左每4位合并為一個(gè)單元,即:

1111 1111 1111 1111 1111 1111 1111 1101

計(jì)算后為: FFFFFFFD

轉(zhuǎn)換十進(jìn)制-3為八進(jìn)制和十六進(jìn)制
轉(zhuǎn)換十進(jìn)制-3為八進(jìn)制和十六進(jìn)制

相關(guān)文章

  • 滑動(dòng)窗口算法高效率解決數(shù)組問(wèn)題

    滑動(dòng)窗口算法高效率解決數(shù)組問(wèn)題

    這篇文章主要為大家介紹了滑動(dòng)窗口算法高效率解決數(shù)組問(wèn)題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • IntelliJ IDEA2020新增禪模式和LightEdit模式

    IntelliJ IDEA2020新增禪模式和LightEdit模式

    這篇文章主要介紹了IntelliJ IDEA2020新增禪模式和LightEdit模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 文本文件編碼方式區(qū)別

    文本文件編碼方式區(qū)別

    當(dāng)一個(gè)軟件打開(kāi)一個(gè)文本時(shí),它要做的第一件事是決定這個(gè)文本究竟是使用哪種字符集的哪種編碼保存的。
    2008-09-09
  • 云開(kāi)發(fā) VSCode 插件 Cloudbase Toolkit 的正確打開(kāi)方式及應(yīng)用場(chǎng)景分析

    云開(kāi)發(fā) VSCode 插件 Cloudbase Toolkit 的正確打開(kāi)方式及應(yīng)用場(chǎng)景分析

    Tencent CloudBase Toolkit 是云開(kāi)發(fā)的 VS Code(Visual Studio Code)插件。這篇文章主要介紹了云開(kāi)發(fā) VSCode 插件 Cloudbase Toolkit 的正確打開(kāi)方式,需要的朋友可以參考下
    2020-07-07
  • vscode的eslint插件不起作用問(wèn)題及解決

    vscode的eslint插件不起作用問(wèn)題及解決

    這篇文章主要介紹了vscode的eslint插件不起作用問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • IDEA配置GIT的詳細(xì)教程

    IDEA配置GIT的詳細(xì)教程

    這篇文章主要介紹了IDEA配置GIT的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • vscode+picgo+github配置免費(fèi)圖床(圖文教程)

    vscode+picgo+github配置免費(fèi)圖床(圖文教程)

    本文主要介紹了vscode+picgo+github配置免費(fèi)圖床,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • vscode?ssh遠(yuǎn)程連接服務(wù)器的思考淺析

    vscode?ssh遠(yuǎn)程連接服務(wù)器的思考淺析

    這篇文章主要為大家介紹了vscode?ssh遠(yuǎn)程連接服務(wù)器的思考淺析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 使用idea 去除 html 代碼前的行號(hào)和空行的方法詳解

    使用idea 去除 html 代碼前的行號(hào)和空行的方法詳解

    這篇文章主要介紹了使用idea 去除 html 代碼前的行號(hào)和空行,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • git和SVN的區(qū)別小結(jié)

    git和SVN的區(qū)別小結(jié)

    這篇主要是談?wù)剝烧叩膮^(qū)別,svn是集中式版本控制系統(tǒng),git是分布式版本控制系統(tǒng),至于誰(shuí)優(yōu)誰(shuí)劣看官自己思考吧,
    2020-07-07

最新評(píng)論