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

c語言怎麼判斷是不是八進制

發布時間: 2022-08-17 15:46:50

『壹』 如何判斷c語言中數的進制

在C語言中,或者說在計算機中,所有的數都是以二進制方式存儲的。其它進制,包括8進制,10進制,16進制均是供人閱讀的。
在C語言中,整型常數有8進制,10進制,16進制三種表示方式。
1 以0開頭的常數,如0112, 0531,等,為8進製表示。
2 以0x或0X開頭的,為16進制,如0x12, 0xABC.
3 不帶任何前綴的,為10進製表示,如123,,812。

『貳』 C語言中八進制和16進制怎麼表示

一、八進制由 0~7 八個數字組成,使用時必須以0開頭(注意是數字 0,不是字母 o),例如:

//合法的八進制數

int a = 015; //換算成十進制為 13

int b = -0101; //換算成十進制為 -65

int c = 0177777; //換算成十進制為 65535

//非法的八進制

int m = 256; //無前綴 0,相當於十進制

int n = 03A2; //A不是有效的八進制數字

二、十六進制由數字 0~9、字母 A~F 或 a~f(不區分大小寫)組成,使用時必須以0x或0X(不區分大小寫)開頭,例如:

//合法的十六進制int a = 0X2A; //換算成十進制為 42

int b = -0XA0; //換算成十進制為 -160

int c = 0xffff; //換算成十進制為 65535

//非法的十六進制

int m = 5A; //沒有前綴 0X,是一個無效數字

int n = 0X3H; //H不是有效的十六進制數字

二進制化為八進制

整數部份從最低有效位開始,以3位一組,最高有效位不足3位時以0補齊,每一組均可轉換成一個八進制的值,轉換完畢就是八進制的整數。

小數部份從最高有效位開始,以3位一組,最低有效位不足3位時以0補齊,每一組均可轉換成一個八進制的值,轉換完畢就是八進制的小數。

例:(11001111.01111)2 = (011 001 111.011 110)2 = (317.36)8

以上內容參考:網路-八進制

『叄』 C語言中 怎樣區分八進制 十進制 二進制

編程語言通常規定是以0開頭的數字是八進制數,以0x開頭的數字是十六進制數,其餘的就是十進制數,至於你說的「十進制是D表示 二進制是B 十六進制是H」在編寫程序時是不能用的,那隻是為了方便,書寫時(不是在計算機上編程時)用到的(只對於C語言編程,匯編語言編程時,是寫上的),你的程序 int x=011中,x是用八進製表示的一個數字,他是9.後面的printf("%d\n",++x);是以10進制形式列印結果(%d的作用),所以程序運行的結果是9.

『肆』 C語言中八進制和十六進制怎麼表示以及原碼,反碼

比如十進制的17,
八進製表示為:021
前面加0
十六進製表示為:0x11
前面加0x或者0X
原碼是用二進製表示如果是8bit原碼則為
0001
0001
反碼為二進制的相反,0變為1,1變為0,則反碼為1110
1110

『伍』 C語言中的八進制

除了二進制,C語言還會使用到八進制。

八進制是一種「逢八進一」的進制,它由 0~7 八個符號來描述。同樣,此處通過十進制和八進制的對比來描述八進制的表示方式。

八進制基數為8,加法運算時逢八進一,減法運算時借一當八。例如,數字 0、1、5、7、14、733、67001、25430 都是有效的八進制。

當使用八進製表示十進制數字8時,由於表示八進制的符號只有 0~7,因此,根據逢八進一的規則,需要向高位進一位,表示為10。同理,使用八進製表示十進制數字16時,繼續向高位進一位,表示為 20。

(5)c語言怎麼判斷是不是八進制擴展閱讀

八進制轉換為十進制的源代碼如下

#include<stdio.h>

void main()

{

char *p,s[6];int n;

p=s;

printf("Please input a Octal number:");

gets(p);

n=0;

while(*(p)!='')

{

n=n*8+*p-'0';

p++;

}

printf("Octal number to Decimal number:%d",n);

}

『陸』 C語言中在沒有數字的情況下怎麼才能看出是用八進制,十進制還是十六進制呢

多少進制只是給人看的,機器肯定是在進行二進制操作,你是說這里if(a>b)return a;return b;為什麼是十進制嗎?其實他是在用二進制比較(幾進制數值都是一樣大的,別忘了),至於你想像的十進制可能是因為輸入scanf("%d%d",&x,&y); 和輸出printf(maxmum=%d",z);,格式%d只是以讓以十進制方式輸入和輸出,誤解了他在用十進制操作

『柒』 考C語言,想知道為什麼8不是八進制數

可類比十進制數A2A1A0=A2*10^2+A1*10^1+A0*10^0
10^n為第N位的權重
權重的底數是誰就是幾進制,此處是10則為十進制,若為8則為八進制
所謂的滿十進一,是因為達到十就可提出十這個因子,加到權重高一級的位上.
如1*10^2+2*10^1+3*10^0 +7=1*10^2+2*10^1+10=1*10^2+(2+1)*10^1+0*10^0
八進制也是如此,滿八就可提出八這個因子,加到權重高一級的位上,所以就不會有8

推薦譚浩強的綠皮書,C語言程序設計(譚浩強)第三版
分課本和習題,比較適合系統地學習編程,課本對基本概念及原理講的細,習題則針對基本的程序學習,比較適合應聘編程的職位,因為常要求寫出簡單的排序等程序,若是應付等級考試這類還要准備選擇填空

『捌』 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。

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