C中如何完成十六進位制到八進位制的轉換

2021-03-04 07:31:18 字數 1865 閱讀 5967

1樓:金色潛鳥

計算機內都bai是2進位制,輸入輸出時才體du現出 其它進zhi制。

#include

#include

using namespace std;

main()

順便說一下:c 語言輸入輸出 %x 格式 是 16 進位制, %o 是 8 進位制。

2樓:匿名使用者

你是說輸出麼, 還是從copy16進位制的數字字串轉換成8進位制的字串?

如果是後者你可以用

char* itoa(int v, char *buf, int radix);

v 要轉換的值, buf 結果緩衝, radix 進位制如把 0x124231aaa轉換為8進位制, 可以這樣char res[100];

itoa(0x124231aaa, res, 8);

就可以了

如果是要你們自己寫過程, 那16->8進位制用移位最簡單了

3樓:匿名使用者

int i=1000;

cout<中

c++中怎樣完成將一個十進位制轉換成八進位制、十六進位制數的功能

4樓:yesyes科

1、c語言列印八進位制是通過%o,(百分號和小寫字母o組成)列印輸出的,首先八進位制017的列印輸出,實現以下**段,**段是先儲存一個8進位制的數字,然後通過%o的方式輸出八進位制。

2、**段編譯通過後執行檢視結果,可以看到結果就是17,八進位制列印出八進位制,不會有什麼變化。

3、十進位制表示的數字以八進位制的格式列印出來看看結果,首先通過計算機得到十進位制的數字20等於八進位制的24,具體如下圖所示,左邊八進位制,右邊十進位制。

4、然後實現以下**段,十進位制的數字20以八進位制的格式進行列印輸出,**段是先儲存一個十進位制的數字20,然後通過%o的方式輸出八進位制。

5、**段編譯通過後執行檢視結果,可以看到十進位制數字20以八進位制的格式輸出的結果是24,和通過計算機得出的結果是一致的。

6、十六進位制表示的數字以八進位制的格式列印出來的結果,首先通過計算機得到十六進位制的數字0xaf等於八進位制的257。

7、然後實現以下**段,十六進位制的數字0xaf,以八進位制的格式進行列印輸出。**段是先儲存一個十六進位制的數字0xaf,然後通過%o的方式輸出八進位制。

5樓:匿名使用者

c++中,可通過itoa()函式,方便的將10進位制數轉換成2 8 16等進位制數,並轉存到字串中。

如果僅是想以8或16進位制格式輸出10進位制數,則可以使用cout的格式化輸出引數oct和hex完成資料輸出。(缺陷:不支援二進位制格式輸出)

參考**:

相關函式說明:

char *itoa( int value, char *string,int radix);

說明:value:欲轉換的資料。

string:目標字串的地址。

radix:轉換後的進位制數,可以是2 8 10 16進位制等。

特別說明:itoa 並不是一個標準的c函式,它是windows特有的,如果要寫跨平臺的程式,可以用sprintf(),用法與printf()相同。

6樓:匿名使用者

//十進位制轉換為任意進位制

#include

using namespace std;

int main()

for(int k=m;k>=1;k--)//輸出轉換後的序列{  if(s[k]>=10) //若為十六進位制等則輸出相對應的字母cout<<(char)(s[k]+55);

else         //否則直接輸出數字cout<

7樓:

int i=1000;

cout<

C語言八進位制十六進位制真值問題

關於八進位制和十六進位制的正負性,有如下幾種情況 1.如果直接使用,都認為是正值,比如 printf d 2 0x8008 輸出 65552 2.如果將其賦值給有符號變數,則 化為二進位制後 最高位為1表示負數,為0表示正。比如 short int y 0x8008 printf d y 輸出 32...

二進位制轉換十進位制,八進位制,十六進位制

在數制中,還有一個規則,這就是,n進位制必須是逢n進一。對於多位數,處在某一位上的 l 所表示的數值的大小,稱為該位的位權。例如十進位制第2位的位權為10,第3位的位權為100 而二進位制第2位的位權為2,第3位的位權為4,對於 n進位制數,整數部分第 i位的位權為ni 1,而小數部分第j位的位權為...

二進位制 八進位制 以及十六進位制有什麼區別

計算機中常用的十六進位制是逢16進1的記數制,採用數字0 9和字母a f共16個記數符號,若符號與十進位制的數的對應關係 計算機中常用的進位制 二進位制 八進位制 十六進位制 進位制 數 字 進位方法 十進位制 0 1 2 3 4 5 6 7 8 9 逢十進一 二進位制 0 1 逢二進一 八進位制 ...