c语言中的8进制
⑴ 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这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写
一、二进制转换十进制
例:二进制 “1101100”
1101100 ←二进制数
6543210 ←排位方法
例如二进制换算十进制的算法:
1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20
↑ ↑
说明:2代表进制,后面的数是次方(从右往左数,以0开始)
=64+32+0+8+4+0+0
=108
二、二进制换算八进制
例:二进制的“10110111011”
换八进制时,从右到左,三位一组,不够补0,即成了:
010 110 111 011
然后每组中的3个数分别对应4、2、1的状态,然后将为状态为1的相加,如:
010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
结果为:2673
⑵ 在c语言中8进制的符号是什么呀
C语言中,
以0开头的是八进制数,
以0x开头的是十六进制数。
⑶ 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。
2,八进制:以0开头,由0~7组成的数。如,0126,050000.
3,十六进制:以0x或0x开头,由0~9,a~f或a~f
组成。如,0x12a,0x5a000.
⑷ c语言中的二进制,八进制,十进制,十六进制都怎么算……,可否举例,谢
先讲一下,二进制与十进制。
以10为例,过程如图。
10进制转化为二进制
10÷2=5....0(余数为0)
5÷2=2....1(余数为1)
2÷2=1....0
1÷2=0....1
然后,非常重要的一步,将余数倒序相加
即:1010
这里特地说明一下,当被除数比除数小时,余数永远为它自己。
如:8÷10 余数为8
二进制转化为十进制
1010
从 右 算起分别对应 :
1 2 4 8
也就是 2的1次方,2次方,3次方
第三步,小数部分怎么计算呢
如10.1
很简单,将0.1乘以2
在乘到整数之前,将结果的整数取出。
如:
0.1x2=0.2.....0
0.2x2=0.4.....0
0.4x2=0.8......0
0.8x2=1.6......1
正序排下来: 0001
至于八进制和十六进制,其实是一样的方法。就是把2换成8。
顺便说一下,如果你是要做开发而不是考试的话可以直接用win系统自带的计算器,选择“程序员” 模式可以直接得到2.8.10.16进制的所有结果。
⑸ 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语言八进制详解
八进制是以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语言中,0256用八进制输出为:256
256用八进制输出为:400
因为,c认为以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); // 以8进制格式输出,输出2。
(8)c语言中的8进制扩展阅读:
C语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件。
早期的操作系统等系统软件主要是用汇编语言编写的(包括
UNIX操作系统在内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但一般的高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作),例如:对内存地址的操作、位操作等)。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。于是,C语言就在这种情况下应运而生了。
⑼ 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