-
1 # 使用者4370389993469
-
2 # 使用者7724478402265
16進位制也就是基本數字由0123456789變成了0123456789ABCDEF這裡的H是16進位制的一個縮寫而已H:十六進位制(英文名稱:Hexadecimal),是計算機中資料的一種表示方法。同我們日常生活中的表示法不一樣。它由0-9,A-F組成,字母不區分大小寫。與10進位制的對應關係是:0-9對應0-9;A-F對應10-15;N進位制的數可以用0~(N-1)的數表示,超過9的用字母A-F。16進位制的20表示成10進位制就是:2×16¹+0×16º=3210進位制的32表示成16進位制就是:20十進位制數可以轉換成十六進位制數的方法是:十進位制數的整數部分“除以16取餘”,十進位制數的小數部分“乘16取整”,進行轉換。比如說十進位制的0.1轉換成八進位制為0.0631463146314631。就是0.1乘以8=0.8,不足1不取整,0.8乘以8=6.4,取整數6, 0.4乘以8=3.2,取整數3,依次下算。程式設計中,我們常用的還是10進位制.畢竟C/C++是高階語言。比如:int a = 100,b = 99;不過,由於資料在計算機中的表示,最終以二進位制的形式存在,所以有時候使用二進位制,可以更直觀地解決問題。但二進位制數太長了。比如int 型別佔用4個位元組,32位。比如100,用int型別的二進位制數表達將是:0000 0000 0000 0000 0110 0100面對這麼長的數進行思考或操作,沒有人會喜歡。因此,C,C++ 沒有提供在程式碼直接寫二進位制數的方法。用16進位制或8進位制可以解決這個問題。因為,進位制越大,數的表達長度也就越短。不過,為什麼偏偏是16或8進位制,而不其它的,諸如9或20進位制呢?2、8、16,分別是2的1次方、3次方、4次方。這一點使得三種進位制之間可以非常直接地互相轉換。8進位制或16進位制縮短了二進位制數,但保持了二進位制數的表達特點。
回覆列表
整數部分用8除,反向取餘數;小數部分用8乘,正向取整數;小數點位置不變,加起來:整數部分——165÷8=20餘520÷8=2餘42÷8=0訂耿斥際儷宦籌為船力餘2反向取餘數:245。小數部分——0.25x8=(整數)2.00.0x8=(整數)0.0正向取整數:20。小數點位置不變加起來:245+0.20=245.2。