c 關於數值進製以及進製之間轉化

2021-10-11 20:48:44 字數 1898 閱讀 7814

c++**如何實現不同進製的轉化

以十進位制與八進位制和轉換為例

遞迴方法

#

include

using

namespace std;

intsb

(int n)

intmain()

迴圈方法
#

include

using

namespace std;

long

long sum=

0,b=

1,x=1;

int a;

intmain()

cout<

return0;

}

10轉16進製制
10轉16進製制

#include

using

namespace std;

char

exchange

(int n)

}int

main()

char a[i]

;while

(note/

16!=0)

a[i]

=exchange

(note)

;for

(int j=i;j>=

0;j--

)cout<

return0;

}

進製的產生一定是為了更好的表達或記錄。

在我們的生活中表達某個數的時候,比如成績多少,這樣的數都是十進位制數。十進位制數有10個數0,1,2,3,4,5,6,7,8,9。

十進位制「逢十進一」這個大家都知道,生活中也有其它進製,比如時間的分秒數是60進製,角度是360度進製。

而在計算機裡使用二進位制的,因為計算機只能表示兩個狀態0,1,(0好比開關關,1可以表示成開關接通)。所以計算機只能「認識」二進位制數。二進位制「逢二進一」。

大家可能也知道還有八進位制、十六進製制,哪為什麼有二進位制還要其它進製?

可以想下,人類用十進位制,計算機用二進位制,但如果想要更好的去研究和理解計算機的運作時,光用二進位制表達和描述會非常不直觀、不方便。因為二進位制太長了,比如乙個整數(十進位制),32位機中二進位制有32位。如果用十六進製制就只要8位,表達和描述上會方便很多,互轉時也可以直接轉,不像十進位制哪樣複雜。(因為8,16,是2的3,4次方)

bin 二進位制 oct八進位制 dec十進位制 hex十六進製制

十進位制轉二進位制使用短除法:

二進位制轉十進位制位權展開法:

二進位制轉八進位制:將3位轉為1位

八進位制轉二進位制:變1位為3位

二進位制轉十六進製制:4位轉1位

十六進製制轉二進位制:1位變4位

舉個栗子吧

關於進製之間的轉化問題

一 十進位制與二進位制之間的轉換 1 十進位制轉換為二進位制,分為整數部分和小數部分 整數部分 方法 除2取餘法,即每次將整數部分除以2,餘數為該位權上的數,而商繼續除以2,餘數又為上乙個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後乙個餘數讀起,一直到最前面的乙個餘數。下面...

進製以及進製之間的轉換

常用進製 下面例子中是舉數字10在以下這些進製中是如何表示的 二進位制 在計算機中使用,取值範圍 0 和 1,以 0b 開頭,如 0b10 八進位制 取值範圍0 7,以0開頭,如 010 十進位制 在日常生活中使用,取值範圍0 9 如 10 十六進製制 取值範圍 0 9 和 a f,以0x開頭,如 ...

c 進製轉化

轉換為十進位制 convert.toint32 值字串 字串的進製 十進位制轉為其他進製 convert.tostring 十進位制值,要轉換的進製 using system using system.linq using system.net.security 十進位制整數轉換為其他進製 stat...