iOS開發中的進製轉換

2021-08-11 04:55:49 字數 1005 閱讀 7812

生活中最常用的是十進位制,所以進製轉換總的可以分為兩大類:

第一類:其他進製(如二進位制、十六進製制)轉十進位制;

第二類:十進位制轉其他進製(如二進位制、十六進製制);

1、拋開進製的觀念,數值都可以寫成這種形式:***x.***x,因為進製的不同,導致每一位代表的數值不同,也就是「進製」和「位置」組成了不同的數值;

2、這裡先明白乙個概念,就是「基數」,多少進製的基數就是多少,如二進位制的基數為2,十進位制的基數為10,十六進製制的基數為16;

3、以小數點為分界線,整數部分從低位到高位順序依次為0,1,2…,小數部分從高位到低位順序依次為-1,-2,-3….

比如對於十進位制數值 101.01,位置順序為

十進位制數值10

1.01

位置順序21

0-1-2代表數值

1x10^2

0x10^1

1x10^0

0x10^-1

1x10^-2

把代表的數值相加起來就得到了十進位制數值101.01,同理,對於其他進製也是相同的原理,通用公式就是

m x radix^p
p表示位置;radix表示進製基數;m表示位置p對應的數字;

總結:其他進製轉為十進位制就是把每一位表示的數值相加起來即可;

十進位制轉其他進製可以分為兩部分:整數部分和小數部分;

整數部分規則:除基數反向取餘

小數部分規則:乘基數正向取整

1、整數部分:

對於整數部分,用被除數反覆除以基數,除第一次外,把得到的商作為下一次除法運算的被除數,每一次得到的餘數就是該進製數值的數值,注意位置是反向的。當商為0的時候就表示運算結束了。

2、小數部分:

對應小數部分,乘以基數得到乙個新的數值,把這個新的數值的整數部分作為該進製的數值,小數部分作為下一次乘法運算的乘數,注意位置是正向的。當小數部分為0或者達到所需要的小數字數之後就表示運算結束了。

iOS開發進製轉換

十進位制轉換為二進位制 param decimal 十進位制數 return 二進位制數 nsstring getbinarybydecimal nsinteger decimal decimal decimal 2 if binary.length 4 0 return binary 將十進位制轉...

iOS藍芽中的進製轉換

最近在忙乙個藍芽專案,在處理藍芽資料的時候,經常遇到進製之間的轉換,藍芽處理的是16進製制 nsdata 而我們習慣的計數方式是10進製,為了節省空間,藍芽也會把16進製制 nsdata 拆成2進製記錄。這裡我們研究下如何在他們之間進行轉換。假設我們要向藍芽傳送0x1b9901這條資料 byte v...

iOS藍芽中的進製轉換

字數1731 閱讀281 喜歡5 最近在忙乙個藍芽專案,在處理藍芽資料的時候,經常遇到進製之間的轉換,藍芽處理的是16進製制 nsdata 而我們習慣的計數方式是10進製,為了節省空間,藍芽也會把16進製制 nsdata 拆成2進製記錄。這裡我們研究下如何在他們之間進行轉換。假設我們要向藍芽傳送0x...