C语言中八进制和十六进制怎么表示以及原码,反码

Python085

C语言中八进制和十六进制怎么表示以及原码,反码,第1张

比如十进制的17,

八进制表示为:021

前面加0

十六进制表示为:0x11

前面加0x或者0X

原码是用二进制表示如果是8bit原码则为

0001

0001

反码为二进制的相反,0变为1,1变为0,则反码为1110

1110

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

10进制数10转换为8进制的转换过程如下:

10/8 = 1  ....(余2)

1/8 = 0  ....(余1)   (1/8中的1是上次运算的商)

所以10的8进制数为12

能用八进制表示的数据类型是 整型。为 int 型 (long int 和 short int 和 unsigned int) 和 char 型, unsigned char 型。

当然,你也可以把八进制数赋值给 float, double, 那涉及转换。

程序例子:

#include <stdio.h>

int main()

{

int n=065

char c=0101

unsigned char d=0102

printf("%d \n", n)

printf("%c %c\n", c, d)

return 0

}

输出:

53

A B