① c語言中以0開頭表示8進制數,那他如何與十進制數的0區分呢
十進制,逢十進一.也就是說,在一個數裡面,某位上的數值不能超過十,超過了就需要進位.
二進制,逢二進一.同上,但是二進制每一位最大不能超過2.
八進制.同上,不能超過八.
十六進制,同上,不能超過16.
十進制,共有十個數字:0,1,2,3,4,5,6,7,8,9.
二進制,共有二個數字:0,1.
八進制,共有八個數字:0,1,2,3,4,5,6,7.
十六進制,共有十六個數字:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f(a-f就相當於10-15,但是在一個數位上只能用一個數字來表示,所以用a-f).
舉例:
0,1這兩個數在這4種數字表達方式中都是一樣的.
對於3:二進制:11.
對於11:
八進制:13.
十進制:11.
十六進制:b.
對於17:
八進制:21.
十進制:17.
十六進制:11.
計算方法:
對與X進制,每一位的權就是X,把其他進制的數轉換成十進制存在以下計算方式.
如果數有N位,從低位到高位,各位分別為a1,a2,...,an:
a1*X^0+a2*X^1+a3*X^2+...+an*X^(n-1)
如二進制:1111 ,相當於十進制 2^0+2^1+2^2+2^3=15
十六進制:1abf,相當於 15*16^0+11*16^1+10*16^2+1*16^3=6847
二進制轉成八進制、十六進制比較規律,分別為3位、4位對應一位.你自己查.
② c語言,整形數據如果以0開頭
恩,有這個心學習是好的,學C就得鑽鑽這些角。
讓我來給你解釋下吧,這里你定義的是整型,然後你給它的是一個8進制位的數,024,當你輸出它時,是以10進制輸出的,所以最後結果是20,而不是你所說的21.
③ c語言 數字0開頭
以數字"0"開頭的表示八進制數,不能出現8、9!
圖方便可以直接用C++的字元串string表示學號
或者可以用long存儲學號,不要前面的0
輸出這么寫:
long
num
=
8311001;
printf("%08d\n",
num);
第一個0表示用0填充,第二個8是設置輸出寬度(學號8個字元)
④ C語言中以0開頭不應該是八進制數嗎
0x開頭是十六進制
0開頭是八進制
⑤ 0'是在c語言中是什麼意思
'0'是字元常量,在ASCII(美國標准信息交換代碼)字元集中,數字『0』的代碼是48,運用不同的格式,其作用也不同,要求輸出值為d類型是其值可代表為48,為c類型時其值為0等等用法。
printf語句中格式字元串%0後面還要有字元來修飾格式,比如:
%08d,這里的0表示是位數不足時,用數字0補足。
printf("%8d ",8);會輸出前面有7個空格最後是數字8的顯示結果。
printf("%08d ",8);會輸出前面有7個0最後是數字8的顯示結果。
(5)0開頭的c語言擴展閱讀:
'0'是字元常量,在ASCII(美國標准信息交換代碼)字元集中,數字『0』的代碼是48,運用不同的格式,其作用也不同,要求輸出值為d類型是其值可代表為48,為c類型時其值為0等等用法。
除了字元常量外,C++還允許用一種特殊形式的字元常量,就是以「」開頭的字元序列。
例如,』 』代表一個「換行」符。「cout<<』 』;」將輸出一個換行,其作用與「cout<<endl;」相同。這種「控制字元」在屏幕上是不能顯示的,在程序中也無法用一個一般形式的字元表示,只能採用特殊形式來表示。
⑥ C語言中定義整型變數010和10有什麼區別
010 和 10 只能是常量而不能是變數,無法被定義。
C語言中,以數字0開頭,由0~7組成的數是八進制數字。
⑦ c語言,為什麼8進制數,0開頭
c語言中為了區分八進制、十進制、十六進制數,所以除了十進制數據之外,八進制用數字0開頭,十六進制用0x開頭。
⑧ C語言中,0合法的八進制數嗎
0是合法的8進制數.
從8進制本身來說, 只要是由0~7組成是數值,都可以算是合法8進制數.
從c語言規則來說,以0開頭的,後續為0~7組成的都屬於合法8進制數.
至於單獨的0, 一般認為是十進制,但如果說它是8進制,也沒什麼問題, 畢竟不管幾進制,0都是0值.
⑨ 在c語言中,00是否為合法的整形變數
是合法的整型常量,並不是變數。
1
變數和常量:
變數來源於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。
「常量」在程序運行時,不會被修改的量。
明顯,00是常量而不是變數。
2
合法常量。
C語言規定,以0開頭的常數,為8進製表示方式,0後面必須接合法的8進制字元。即0~7.
明顯,0也是合法的8進制字元。所以00這種表示方式屬於合法的整型常量。其值為0.
⑩ 在c語言中,要怎麼定義以0開頭輸入的數字串的數據類型,變數定義,書寫方式如0123456,c語言初學者求問~
0開頭輸入的數字 是 8進制正整數。
輸入輸出格式用%o
變數定義為長整型或整型,考慮數值范圍
8進制數,數字可以是 1,2,3,4,5,6,7,0,沒有8,9。
#include <stdio.h>
#include <stdlib.h>
void main()
{
long int i,j,k; // 變數定義為長整型或整型
printf("Enter data in O -- for example 077 \n");
scanf("%o",&i); // 8進制方式讀入 i
k = i + 1; // k 比 i 大 1
printf("%o\n",k); // 列印k的8進制值
printf("%d %d",i,k); // 列印i,k的十進制值
exit(0);
}
輸入i: 077 (或77)
列印k的8進制值: 100
列印i,k的十進制值: 63 64
輸入i: 0123456 (或123456)
列印k的8進制值: 123457
列印i,k的十進制值: 42798 42799