首页  > 教育解读  > c语言二进制怎样转换

c语言二进制怎样转换

2025-05-07 09:59:12
雨后初晴
雨后初晴已认证

雨后初晴为您分享以下优质知识

在C语言中,二进制转换可以通过多种方法实现,具体方法取决于转换方向和数据类型。以下是常见的转换方法及示例代码:

一、二进制转十进制

按权展开法

通过将二进制数的每一位乘以2的幂次求和实现。

```c

include

int binaryToDecimal(unsigned long long n) {

int decimalNumber = 0;

for (int i = 0; i < 64; i++) {

decimalNumber += (n & 1) * (1LL >

= 1;

}

return decimalNumber;

}

int main() {

unsigned long long binary = 110110111;

printf("Binary %llx is Decimal: %dn", binary, binaryToDecimal(binary));

return 0;

}

```

位操作符法

使用位移和按位与操作逐位提取二进制位。

```c

include

void printBinary(int num) {

for (int i = 31; i >

= 0; i--) {

printf("%d", (num >

>

i) & 1);

}

printf("n");

}

int main() {

int num = 10;

printf("The binary representation of %d is: ", num);

printBinary(num);

return 0;

}

```

二、十进制转二进制

除2取余法

通过不断除以2并记录余数实现。

```c

include

void decimalToBinary(int n) {

if (n == 0) {

printf("0");

return;

}

char binary = "";

while (n >

0) {

binary[32 - i] = (n % 2) + '0';

n /= 2;

}

printf("%sn", binary);

}

int main() {

int num = 168;

printf("Decimal %d is Binary: ", num);

decimalToBinary(num);

return 0;

}

```

位操作符法

使用位移和按位与操作直接生成二进制字符串。

```c

include

include

void printBinary(int num) {

for (int i = 31; i >

= 0; i--) {

printf("%d", (num & (1