C语言八进制详解

作者&投稿:阙贺 (若有异议请与网页底部的电邮联系)
c语言中-1的八进制值是多少?~

c语言中-1的八进制值是37777777777
先转化为二进制1111 1111 1111 1111,然后二进制转八进制,从右边起,每三位一组,每组对应一个八进制数,如,以一字节为例:
10101011(B) = 10 101 011 = 253(O)
所以,32个1对应的八进制数就是37777777777

扩展资料:
二进制化为八进制:
整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。
小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。
参考资料来源:百度百科-八进制

编程语言通常规定是以0开头的数字是八进制数,以0x开头的数字是十六进制数,其余的就是十进制数,至于你说的“十进制是D表示 二进制是B 十六进制是H”在编写程序时是不能用的,那只是为了方便,书写时(不是在计算机上编程时)用到的(只对于C语言编程,汇编语言编程时,是写上的),你的程序 int x=011中,x是用八进制表示的一个数字,他是9.后面的printf("%d
",++x);是以10进制形式打印结果(%d的作用),所以程序运行的结果是9.

八进制是以8为基数的一种计数系统。在八进制系统中,你是这样计数的:O,1,2,3,4,5,6,7,10,ll,12,13,等等。下面比较了八进制(第二行)和十进制(第一行)中的计数过程: O,l,2,3,4,5,6,7,8,9,10.11,12,13,14,15,16 0,1,2.3,4,5,6,7,10,11,12,13,14,15,16,17,20 注意,在八进制中,在数到7后,就要增加一个八进制位,第二个八进制位显然就是8?(等于十进制的8)。如果你数到第三个八进制位(八进制的100),那将是8?或十进制的64,因此,八进制的100等于十进制的64。 现在,八进制已经不象以前那样常用了,这主要是因为现在的计算机使用的是8,16,32或64位处理器,最适合它们的计数系统是二进制或十六进制(见20.24中有关十六进制计数系统的介绍) C语言支持八进制字符集,这种字符要用反斜杠字符来标识。例如,在C程序中,下面的语句并不少见: if(x=='\007')break; 这里的"\007"恰好就是ASCII值为7的字符;该语句用来检查终端鸣笛字符。另一个常见的八进制数是"\033",即Escape字符(在程序中它通常表示为"\033")。然而,八进制数现在已经很少见了——它们被十六进制数代替了。


C语言中怎样区分八进制,十进制,二进制?
在C语言里,整数有三种表示形式:十进制,八进制,十六进制。其中以数字0开头,由0~7组成的数是八进制。以0X或0x开头,由0~9,A~F或a~f 组成是十六进制。除表示正负的符号外,以1~9开头,由0~9组成是十进制。1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278...

八进制表示8的值
8进制逢8进1,和10进制逢10进1一个道理,8进制里是看不到数字8的所以是10。八进制,缩写OCT或O,一种以8为基数的 计数法,采用0、1、2、3、4、5、6、7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位...

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)...

八进制到底用Q还是O表示?
八进制用Q表示。八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。二进制化为八进制:1、整数...

C语言的二进制,八进制,十进制是什么意思?
计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。2进制,用两个阿拉伯数字:0、1;8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;10进制,用十个阿拉伯数字:0到9;16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这...

C语言中,八进制怎样转换成十六进制?
1.八进制 八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o),例如:\/\/合法的八进制数 int a = 015; \/\/换算成十进制为 13 int b = -0101; \/\/换算成十进制为 -65 int c = 0177777; \/\/换算成十进制为 65535 \/\/非法的八进制 int m = 256; \/\/无...

c语言中-1的八进制值是多少?
c语言中-1的八进制值是37777777777 先转化为二进制1111 1111 1111 1111,然后二进制转八进制,从右边起,每三位一组,每组对应一个八进制数,如,以一字节为例:10101011(B) = 10 101 011 = 253(O)所以,32个1对应的八进制数就是37777777777 ...

计算机语言中二进制,八进制,十进制,十六进制之间具体的关系是怎样的...
十六进制用字母ABCDEF 或者 abcdef分别表示 10,11,12,13,14,15 C语言的表达式里 8进制前面加0 ,16进制前加0x;没有二进制的表示方法。在字符串里和字符里反斜杆\\nnn表示8进制, \\xnnn 表示16进制;C语言,因为字符是整数的一种,所以可以直接用数值,表示字符的值!!char c=‘a';和char c...

C语言中八进制和十六进制怎么表示以及原码,反码
比如十进制的17,八进制表示为:021 前面加0 十六进制表示为:0x11 前面加0x或者0X 原码是用二进制表示如果是8bit原码则为 0001 0001 反码为二进制的相反,0变为1,1变为0,则反码为1110 1110

c语言中的二进制,八进制,十进制,十六进制都怎么算……,可否举例,谢...
先讲一下,二进制与十进制。以10为例,过程如图。10进制转化为二进制10÷2=5...0(余数为0)5÷2=2...1(余数为1)2÷2=1...01÷2=0...1然后,非常重要的一步,将余数倒序相加即:1010这里特地说明一下,当被除数比除数小时,余数永远为它自己。如:8÷10 余数为8二进制转化为十进制101...

相山区17583923497: C语言中的八进制 -
典菁复方: 除了二进制,C语言还会使用到八进制. 八进制是一种“逢八进一”的进制,它由 0~7 八个符号来描述.同样,此处通过十进制和八进制的对比来描述八进制的表示方式. 八进制基数为8,加法运算时逢八进一,减法运算时借一当八.例如,数...

相山区17583923497: C语言的八进制怎么记 -
典菁复方: 以0b开头,后面接数字为二进制, 比如 0b10 是二进制数,等于10进制的 2 以0开头,后面接数字为八进制, 比如 010 是八进制数,等于10进制的 8 以0x开头,后面接数字为十六进制, 比如 0x10 是十六进制数,等于10进制的 16

相山区17583923497: C语言中的二进制,八进制,十进制,十六进制是什么,还有,数组,
典菁复方: 二进制就是逢二进一,二进制里只有两个数字就是0和1.比如我们平时说的2,记做10,3记做11,4记做100,后面也是同样的道理,我们平时用的是十进制

相山区17583923497: C语言 8进制 和16进制 解释1下
典菁复方:8进制就是说只要你的数字加到大于八就要进一位 例如 5+7=16(8) 一定要说明就是8进制 就是在后面价格括号说明一下 还有转换 例如 16(10)= F(16) 括号里面就是多少进制了 16进制有这些 123456789,10ABCDEF {ABCDEF分别代表 11 12 13 ……} 懂了吗

相山区17583923497: C语言程序怎么把十进制的数转换成八进制的数? -
典菁复方: C语言程序十进制的数转换成八进制的数的办法:#include <stdio.h>#include <math.h> void main() { int n,a,sum = 0,i =0; printf("十进制输出一个数n\n"); scanf("%d",&n); while(n) { a = n%8; n = n/8; sum += a*pow(10,i); i++; } printf("八进制输出sum:%d",sum); }

相山区17583923497: c语言中的数据类型及二进制 八进制 十六进制之间的转换?
典菁复方: 2的3次方等于8,一位八进制数正好是三位二进制;2的4次方等于16,一位十六进制数正好是四位二进制. 二进制转换成八进制的方法:以小数点为中心,整数部分自右向左分组,小数部分自左向右分组,每三位一组,不足的补零(只有整数的...

相山区17583923497: C语言程序十进制的数怎么转换成八进制的数? -
典菁复方: #include <stdio.h> #include <math.h> void main() {int n,a,sum = 0,i =0;printf("十进制输出一个数n\n");scanf("%d",&n);while(n){a = n%8;n = n/8;sum += a*pow(10,i);i++;}printf("八进制输出sum:%d",sum); }

相山区17583923497: c语言,菜鸟问:八进制和十六进制在C语言中的作用?祥细点哦! -
典菁复方: 计算机是用二进制进行计算的,不是我们平时用的十进制.因为用二进制表示一个数太麻烦,太长(例如64用二进制表示为1000000),于是人们就用八进制和十六进制表示数.由于c语言是高级语言,支持十进制,所以我们一般用的都是十进制的,很少用其他进制.但是计算机内部地址常用16进制表示,八进制在对变量进行移位操作等比较底层的程序设计是很有用的并且8进制是用于ACSIC码的如'\065'是表示A.

相山区17583923497: C语言中 输出十进制 八进制 十六进制 有哪些表示方法 -
典菁复方: %d%o%x%e 是实数,用科学计数法计的格式字符 说明 %a 一个浮点值(仅C99有效) %A 同上 %c 一个字符 %d 十进制整数 %i 十进制,八进制,十六进制整数 %o 八进制整数 %x 十六进制整数 %X 同上 %c 一个字符 %s 一个字符串,遇空格、制表符或换行符结束. %f 实数,可以用小数形式或指数形式输入. %F 同上 %e 同上 %E 同上 %g 同上 %G 同上 %p 一个指针 %u 一个无符号十进制整数 %[] 扫描字符集合 %% %符号

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网