首页 热点资讯 义务教育 高等教育 出国留学 考研考公

请教c语言程序员朋友,怎样运算才能输出2进制结果?

发布网友 发布时间:2022-04-21 18:49

我来回答

4个回答

热心网友 时间:2024-03-19 09:55

1、首先打开vc6.0, 新建一个项目。

2、添加头文件。

3、添加main主函数。

4、定义一个两个数相加的函数binSubtracton。

5、在main函数定义int了性number1,number2, binSub。

6、使用scanf给变量赋值。

7、调用binAddition、binSubtracton。

8、使用printf打印结果。

热心网友 时间:2024-03-19 09:56

C标准没有输出二进制的,不过用itoa()可以实现到二进的转换。

1、在C语言程序中,可以使用标准库函数中printf()来向屏幕输出信息,或者使用sprintf()向缓冲区输出信息。对整数而言,可以使用%d、%o、%x(或%X)输出十进制形式、八进制、十六进制形式,但貌似缺乏二进制形式。

2、解决方式有两种,一种是利用Windows提供的itoa()函数,另一种自行设计一个新的函数:

代码一:

/** Test.h */
#pragma once


#ifndef Test_H
#define Test_H


/** use itoa() to print integers in the form of binary 
 *  @param[in] n the integer to print
 *  @return void
 */
void printBinaryByItoa(unsigned int n);

代码二:

/** Test.c */
#include <stdio.h>
#include <stdlib.h>


void printBinaryByItoa(unsigned int n)
{
  unsigned char data[33];


  _itoa_s(n, data, 33, 2);
  
  printf("%sb\n", data);
}


void printBinary(unsigned int n, unsigned char separator, unsigned char needPrefixZeros)
{
  unsigned int i = 0;
  unsigned int mask = 0;    /* the mask code to get each bit of n */
  unsigned char data[40];   /* the buffer to store the bits of n in the form of characters */
  unsigned int index = 0;   /* used to access data[] */
  unsigned int start = 0;   /* to point out where and when to store bits of n */
  
  data[39] = '\0';

热心网友 时间:2024-03-19 09:56

就像楼上说的,二进制是不可以直接输出的,但是可以用程序输出
#include<stdio.h>

void f(int n)
{
if(n) f(n/2);
else return;
printf("%d",n%2);
}

int main()
{
int n;
while(1)
{
scanf("%d",&n);
if(n<0) break;
if(n==0) printf("0");
f(n);
printf("\n");
}
return 0;
}

热心网友 时间:2024-03-19 09:57

void B_print (unsigned char B)//八位二进制输出
{
char j;
for(j=8;j>0;j--){printf("%d\t",(1&(B>>j)));}
}

想要几位改循环次数和就行了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com