① 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