當前位置:首頁 » 編程語言 » c語言六進制輸出
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言六進制輸出

發布時間: 2022-09-12 17:29:39

c語言中十六進制和八進制的格式

16進制以0x開頭,後面跟數字0~9或字母A~F(小寫也可以)。如:0x2D(16進制數2D)
8進制以0開頭,後面跟數字0~7。如:045(8進制數45)
如果使用printf函數輸出時,可以通過格式數明符來控制輸出格式。
舉例如下:
int x=23;
printf("%x", x); // 以16進制格式輸出,輸出17;
printf("%o", x); // 以8進制格式輸出,輸出2。

(1)c語言六進制輸出擴展閱讀:
C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合作為系統描述語言,即可用來編寫系統軟體,也可用來編寫應用軟體。
早期的操作系統等系統軟體主要是用匯編語言編寫的(包括
UNIX操作系統在內)。由於匯編語言依賴於計算機硬體,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好改用高級語言,但一般的高級語言難以實現匯編語言的某些功能(匯編語言可以直接對硬體進行操作),例如:對內存地址的操作、位操作等)。人們設想能否找到一種既具有一般高級語言特性,又具有低級語言特性的語言,集它們的優點於一身。於是,C語言就在這種情況下應運而生了。

⑵ C語言編程,輸入十進制數輸出十六進制和八進制

可以通過下面的公式解決

#include<stdio.h>

const int maxn = 128;

const int index8 = 8;

const int index16 =16;

int main()

{int Array8[maxn];

int Array16[maxn];

int n, cot8 = 0;

scanf("%d", &n);

int m = n, cot16 = 0;

while(n) {Array8[cot8++] = n % index8;

n /= index8;}

while(m) {Array16[cot16++] = m % index16;

m /= index16;}

int i;

for(i = cot8 - 1; i >= 0; i--)

printf("%d", Array8[i]);

puts("");

for(i = cot16 - 1; i >= 0; i--)

(2)c語言六進制輸出擴展閱讀:

十進制轉十六進制的具體方法:

對於整數部分,用被除數反復除以16,除第一次外,每次除以16均取前一次商的整數部分作被除數並依次記下每次的余數。另外,所得到的商的最後一位余數是所求二進制數的最高位。

對於小數部分,採用連續乘以基數16,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」。

10進制數轉換成十六進制數,這是一個連續除以16的過程:把要轉換的數,除以16,得到商和余數,將商繼續除以16,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。

⑶ C語言輸出16進制數

#include<stdio.h>
intmain()
{
intn;
scanf("%d",&n);
printf("0x%x ",n);
return0;
}

⑷ c語言怎麼樣實現6進制

把39轉換為6進制:

#include<stdio.h>
voiddec2n(intx,intn)
{if(x>=n)dec2n(x/n,n);
printf("%c",x%n>9?x%n+55:x%n+48);
}
intmain()
{intx,n;
scanf("%d%d",&x,&n);
dec2n(x,n);
return0;
}

⑸ c語言編程輸入一個整數,輸出它的十六進制、八進制、十進制、科學計數法

//C語言:
#include<stdio.h>
intmain(void)
{
inta;
scanf("%d",&a);
printf("8進制:%o 10進制:%d 16進制:%x 科學記數法:%e",a,a,a,a);
return0;
}
//C++:
#include<iostream>
usingnamespacestd;
intmain()
{
inta;
cin>>a;
cout<<endl;
cout<<"8進制:"<<oct<<a<<endl;
cout<<"10進制:"<<dec<<a<<endl;
cout<<"16進制:"<<hex<<a<<endl;
return0;
}

⑹ c語言輸入十進制(long),以二、八、十六進制輸出的程序

這個程序寫的真不錯,很簡明,標記一個。
他的演算法思想在於:先採用除「base」取余(所有的余數都會小於「base」),然後,再按這些余數的倒序輸出就完成了數據的10進制與其它進制的轉換。(如果你理解10轉二進制,以上話你就能明白)
char b[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; //這里是定義一個字元數組,用來輸出余數表示的值
int c[64],d,i=0,base;
long n;
printf("enter a number:\n"); scanf("%ld",&n);
printf("enter new base:\n"); scanf("%d",&base);
do
{
c[i]=n%base;
i++; n=n/base;
}while(n!=0);

printf("transmite new base:\n");
for(--i;i>=0;--i)
{
d=c[i]; //以該余數為下標,去數組中找其對應的值。如5對應的就是『5』 , 10就會對應A,當然只有超過10進制的base數,才會出現A以上的數值。
printf("%c",b[d]);
}

⑺ C語言寫程序任意輸入一個小寫字母,分別按 八進制,十進制,十六進制,字元格式輸出

#include "stdio.h"
void main()
{

char a;

printf("請輸入一個小寫字母:");

scanf("%c",&a);

printf("八進制輸出:%o\n十進制輸出:%d\n十六進制輸出:%x\n字元格式輸出:%c\n",a,a,a,a);
}
結果:

⑻ c語言編程:輸出十進制對應的八進制和十六進制值

#include<stdio.h>
int main(){
int n;
scanf("%d", &n);
printf ("0%o 0X%X\r\n", n);
}