以8位二進位制整數為什麼最小數是 128的問題

2022-05-07 05:24:08 字數 423 閱讀 8601

8位二進位制的數轉為10進製:

正數:比如1,一定要轉為00000001(原碼),高位是0(補碼等於原碼),直接計算得十進位制1,

負數:比如11111111(原碼),最高位是1,表示負數;符號位不變其他位取反再加一,取反為10000000(反碼),然後加一為10000001(補碼),表示十進位制-1

十進位制數轉為8位二進位制數:

需要引入乙個概念:模

正數:比如5,二進位制數字為 00000101,正數計算機儲存的數字與轉化的二進位制相等,為00000101

負數:比如-5,二進位制儲存的數字為(256-5=251=11111011)(這裡不需要考慮符號位),十進位制的負數表達方式為 【十進位制負數的二進位制表達方式就是它絕對值的補數】,這裡因為模是256,補數就是251

感謝下面兩位大神:

參考位址一

參考位址二

二進位制小數

要理解這道題,首先要知道什麼樣的小數可以轉化為二進位制形式,怎樣的小數不能被轉化為二進位制形式,自己測試幾組資料發現 1.可以轉化為二進位制的小數在有限次的乘二之後,小數部分會變零。舉個例子 0.625 2 1.25 1.25 2 2.5 2.5 2 5.0 5.0的小數部分變成了 0 2.不能轉化...

小數 二進位制

首先,給出乙個任意實數,整數部分用普通的二進位制便可以表示,這裡只說小數部分如何表示 例如0.6 文字描述該過程如下 將該數字乘以2,取出整數部分作為二進位制表示的第1位 然後再將小數部分乘以2,將得到的整數部分作為二進位制表示的第2位 以此類推,知道小數部分為0。特殊情況 小數部分出現迴圈,無法停...

二進位制小數

題目描述 有乙個介於0和1之間的實數,型別為double,返回它的二進位制表示。如果該數字無法精確地用32位以內的二進位制表示,返回 error 給定乙個double num,表示0到1的實數,請返回乙個string,代表該數的二進位制表示或者 error 測試樣例 0.625 返回 0.101 c...