十进制与二进制的相互转换
一、
1.十進制轉換為二進制,分為整數部分和小數部分。
整數部分采用除2倒取余法,具體做法:用2去除十進制整數,可以得到一個商和余數;在用2去除商,又會得到一個商和余數,如此進行,知道商為0時為止,然后把先的到的余數作為二進制的低位有效位,后得到的余數作為二進制數的高位有效位,依次排列起來。
小數部分采用乘2取整法,具體做法:用2乘十進制小數,可以得到積,將積中的整數部分取出,在用2乘余下的小數部分,又得到一個積,在將積中的整數部分取出,如此進行,直到積中的小數部分為0,此時0或1為二進制的最后一位,或者達到所要求的精度為止,然后把取出的整數部分按順序排列起來,先取得整數作為二進制小數的最高位有效位,后取的整數作為低位有效位。
2.二進制轉換為十進制,方法:按權相加法,即將二進制每位上的數乘以權,然后相加之和即是十進制數。
二、
由于計算機的硬件決定,任何存儲于計算機中的數據,其本質都是以二進制碼存儲。
根據馮·諾依曼提出的經典計算機體系結構框架,一臺計算機由運算器、控制器、存儲器、輸入和輸出設備組成。其中運算器只有加法運
算器,沒有減法運算器(據說一開始是有的,后來由于減法運算器硬件開銷太大,被廢了) 。
所以計算機中沒辦法直接做減法的,它的減法是通過加法實現的。現實世界中所有的減法也可以當成加法的,減去一個數可以看作加上這個數的相反數,但前提是要先有負數的概念,這就是為什么不得不引入一個符號位。符號位在內存中存放的最左邊一位,如果該位位0,則說明該數為正;若為1,則說明該數為負。
而且從硬件的角度上看,只有正數加負數才算減法,正數與正數相加,負數與負數相加,其實都可以通過加法器直接相加。
原碼、反碼、補碼的產生過程就是為了解決計算機做減法和引入符號位的問題。
總結
以上是生活随笔為你收集整理的十进制与二进制的相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu安装winehq最新版
- 下一篇: html设置tr无上边框,【html】设