八进制(基数为8)表示法在计算机系统中很常见,因此,我们有时能看到人们使用八进制表示法。由于十六进制一位可以对应4位二进制数字,用十六进制来表示二进制较为方便。因此,八进制的应用不如十六进制。有一些程序设计语言提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
计算机需要数制转换,计算机内部使用二进制,二进制八进制十进制之间的数制转换,FORTRAN77编制,围绕二进制与小数,完成二进制八进制十进制之间的数制转换。
一、八进制由 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
以上内容参考:百度百科-八进制
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)