IT兄弟連 Java語法教程 數據類型 進位轉換

  • 2019 年 10 月 5 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/94378289

● 正十進位轉換為二進位

拆分法,將十進位整數拆分為若干個二進位權重的和,若有該權重則下面寫1,否則寫0。如:

34 = 32 + 2

128 64 32 16 8 4 2 1

0 0 1 0 0 0 1 0 => 0010 0010

● 正二進位轉換為十進位

加權法,讓二進位的每個數字乘以當前位的權重,再將所有乘機累加起來即可。如:

0010 0010 => 0*27 + 0*26 + 1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 0*20

=> 0 + 0 + 32 + 0 + 0 + 0 + 2 + 0

=> 34

● 負十進位轉換為二進位

將負十進位整數的絕對值轉換為二進位,然後按位取反再加1。如:

−34轉換為二進位的結果:

34轉換為二進位:0010 0010

按位取反:1101 1101

再加一:1101 1110

● 負二進位轉換為十進位

先減一再按位取反,然後採用加權法合併為十進位整數,最後添加負號。如:

1101 1110轉換為十進位:

先減一:1101 1101

按位取反:0010 0010

合併十進位整數:34

最後再添加負號:−34