c语言的二进制数值如何直接输出?

如题所述

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

2、添加头文件。

3、添加main主函数。

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

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

6、使用scanf给变量赋值。

7、调用binAddition、binSubtracton。

8、使用printf打印结果。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-09-04

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';

本回答被网友采纳
第2个回答  2018-02-23
就像楼上说的,二进制是不可以直接输出的,但是可以用程序输出
#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;
}
第3个回答  2020-04-14
void B_print (unsigned char B)//八位二进制输出
{
char j;
for(j=8;j>0;j--){printf("%d\t",(1&(B>>j)));}
}

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

C语言如何直接输出二进制?
1,C语言没有直接输出二进制的方法。2,八进制在输出的时候以0开头,例如:0123十进制的83 3,十进制正常输出,无特别表示。4,十六进制在输出的时候以0X或者0x开头,例如0x123 十进制的291。

c语言的二进制数值如何直接输出?
1、首先打开vc6.0, 新建一个项目。2、添加头文件。3、添加main主函数。4、定义一个两个数相加的函数binSubtracton。5、在main函数定义int了性number1,number2, binSub。6、使用scanf给变量赋值。7、调用binAddition、binSubtracton。8、使用printf打印结果。

c语言的二进制数值如何直接输出?
C标准没有输出二进制的,不过用itoa()可以实现到二进的转换 2.可以使用itoa函数把变量的数值转换成2进制字符串,再用输出函数输出。3.用 法:char itoa(int value,char string,int radix);4.详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.5....

c语言的二进制数值如何直接输出?
没有二进制直接输出,可以自己编写程序:void f(int n){ if(n)f(n\/2);else return;printf("%d",n%2);} 上面是一个递归调用函数,它可以输出n的二进制格式

c语言里能直接打出二进制数吗?
c语言里面没有直接打出二进制数的格式符。C语言中对于不同类型的数据用不同的格式字符。控制printf函数输出格式的是格式字符,printf函数中输出的格式为printf("<格式化字符串>", <参量表>),格式化字符串由格式控制、和输出表列两部分组成,其中格式控制包含格式声明和普通字符。格式声明由“%”和格式...

C语言中二进制怎么输出
无法直接输出可以用printf("%x",a);输出十六进制,再写个switch 开关语句转化成二进制。

如何用C语言输出二进制数据
二进制2113数字不能像小数一样直接输出为%d.如果要输出5261二进制数printf输出格式 二进制,可以使用函数4102将其转换为二进制字符串,然后在1653中输出.itoa函数 原型: char * itoa(intvalue,char * stringprintf输出格式 二进制,intradix);参数: int值转换后的整数,char *转换后存储的字符串...

在C语言里怎么才能输出 二进制的结果
来两个常用的方法:一:运用除2取余法(我就不复制粘贴了,自己百度即可),结果存储在数组中,然后输出数组。二:如:对于int,一般是32位,可以用for循环实现,如下:int a; \/\/要输出的数bool op = false;for(int i=31; i>=0; i--){ if( a & (1<<i) ) op = true; if(...

C语言中怎样打印二进制数?
在C语言中,打印16进制可以使用printf的%x格式。打印二进制数并没有现成的格式数值,只能自行编写函数打印。以下是一个打印二进制值的函数,通过位操作,逐位判断二进制值,并输出对应的值。默认高位0不输出。void print_bin(int n){ int l = sizeof(n)*8;\/\/总位数。 int i; if(i ...

如何在c语言中输出二进制数???
可以用 %x格式 输出16进制数,16进制一位拉4位,按8421分布,就是2进制数。1个字节正好用2位16进制表示,转为8位2进制。

相似回答