C语言中16进制的表示方法?

Python021

C语言中16进制的表示方法?,第1张

16进制以0x开头,后面跟数字0~9或字母A~F(小写也可以),如:0x2D(16进制数2D)

1、十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。

2、十六进制与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。

举例如下:

int x=23

printf("%x", x) // 以16进制格式输出,输出17

printf("%o", x) // 以8进制格式输出,输出27

一、八进制由 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

以上内容参考:百度百科-八进制