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