Python各種進制的數相互轉換

  1. 轉十進制int
    各進制轉十進制
    上面函數,只需要將第一個參數填寫轉換數值,第二個參數描述函數是哪個進制的數即可。

  2. 轉二進制bin
    十進制轉二進制
    該函數爲十進制轉二進制函數。因此如果是十六進制或者八進制數需要先調用int函數轉爲十進制。

  3. 轉八進制oct
    十進制轉八進制
    該函數爲十進制轉八進制函數。因此如果是十六進制或者二進制數需要先調用int函數轉爲十進制。

  4. 轉16進制hex
    十進制轉十六進制
    該函數爲十進制轉十六進制函數。因此如果是八進制或者二進制數需要先調用int函數轉爲十進制。

關於c語言的進制轉換

網上很多人都是自己手寫的進制轉換函數,但是c語言的格式化輸入輸出函數已經支持進制轉化,所以我們可以使用sprintfsscanf進行轉換。
sprintf函數通過指定佔位符%o %u %x來輸入特定進制的數;sscanf通過%i佔位符自動將輸入識別成相應進制數。

佔位符說明
如果只是單純的轉換調用printf即可,畢竟機器內部都是二進制存儲。

#include <stdio.h>

int main(int argc, char* arv[])
{
	int a = 010;
	int b = 10;
	int c = 0x10;
	printf("%o\n%d\n%x\n", a, a, a);
	printf("%o\n%d\n%x\n", b, b, b);
	printf("%o\n%d\n%x\n", c, c, c);
	return 0;
}

output

10
8
8
12
10
a
20
16
10
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章