从键盘输入无符号整数n,将其以二进制形式输出。

作者&投稿:彤皆 (若有异议请与网页底部的电邮联系)
用C语言编写程序,输出一个无符号整型变量值的二进制形式.(求大神帮忙)~

#includevoid main(){unsigned int a,b,n,mode,i;scanf("%u",&a);n=sizeof(unsigned int)*8; //b=a;mode=1;for( i=0;i0) { printf("%d",b/mode);b=b%mode;mode=mode/2;n=n-1;}}

#include<stdio.h>
#define uint unsigned int
#define ushort unsigned short
//求2的N次方
int cifang(int n)
{
int i=0,sum=1;
for(i=n;i>0;i--)
{
sum*=2;
}
return sum;
}
//十进制正数转换成二进制数
uint transform_data_zhengshu(uint frequence,ushort*pwm_table)
{
uint temp=frequence;
int pwm_index=0;
while(temp)
{
pwm_table[pwm_index]=(temp&0x01);
temp=temp>>1;
pwm_index++;
}
return pwm_index-1;
}
uint transform_data(int frequence,ushort*pwm_table)
{
int temp=frequence;
int pwm_index=0;
ushort pwm_temp[15]={0};
//负数
if(frequence<0)
{
//先将负数转换成正数
temp=-frequence;
//求出这个正数temp的二进制并存放在pwm_temp中
transform_data_zhengshu(temp,pwm_temp);
//将这个正数temp的二进制pwm_temp取反并转换成十进制数sum
int sum=0;
int i=0;
for(i=0;i<15;i++)
{
if(pwm_temp<i>==0)
pwm_temp<i>=1;
else
pwm_temp<i>=0;
sum+=cifang(i)*pwm_temp<i>;
pwm_temp<i>=0;
}
//将转换出来的十进制数sum加一
sum+=1;
//printf("sum=%d
",sum);
//最后再转成二进制pwm_table
return transform_data_zhengshu(sum,pwm_table);
}
//正数
return transform_data_zhengshu(frequence,pwm_table);
}
int main(){
int frequence=-2;
//scanf("%d",&frequence);
ushort pwm_table[15]={0};
uint off_set;
off_set=transform_data(frequence,pwm_table);
int i=0;
for(i=off_set;i>=0;i--)
{
printf("%d",pwm_table<i>);
}
return 0;
}

扩展资料:①printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
②printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。
如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%C”表示按字符型输出等。

#include<cstdio>
#include<string>

int main()
{
unsigned n;
char str[17];
scanf("%d",&n);
itoa(n,str,2);
for(int i=strlen(str);i<16;i++) printf("0");
printf("%s\n",str);
system("pause");
return 0;
}


C语言中的input是什么意思
input属于printf()函数中的式样化字符串,将输出结果格式化并将输入的参数返回到程序中。printf()函数用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("<式样化字符串>",<参数表>)。式样化字符串包含了要被写入到标准输出 stdout 的文本。它...

scanf getchar 等遇到一次输入多个字符是如何输入?
具体用法scanf 格式输入函数 函数作用:按照变量在内存的地址将变量值存进去。一般格式:scanf(格式控制,地址表列)其中,格式控制:d:以带符号的十进制形式输入整数 o:以八进制无符号形式输入整数 x:以十六进制无符号形式输入整数 u:以无符号十进制形式输入整数 c:以字符形式输入,只输入一个字符 s:...

为何scanf函数只能输入一个值呢
%o 读入八进制整数%x 读入十六进制整数%X 同上%c 读入一个字符%s 读入一个字符串%f 读入一个浮点数%F 同上%e 同上%E 同上%g 同上%G 同上%p 读入一个指针%u 读入一个无符号十进制整数%n 至此已读入值的等价字符数%[] 扫描字符集合%% 读%符号附加格式说明字符表修饰符 说明L\/l 长度修饰符 输入"长"数据h ...

C++里的%s 是什么意思
C语言中的%s提供了进行整串输入和输出的格式说明,是输入输出中的格式控制符,和%d、%f的用法类似。例:1、charstr[10];scanf(%s,str);通过键盘输入一个字符串到str中。2、printf(%s,str);输出这个字符串。\/iknow-pic.cdn.bcebos.com\/f9dcd100baa1cd11c32a41afb712c8fcc2ce2da4"target="_...

在c语言里怎么从键盘输入一个较大数字,如10^100
用字符串的方法 先用字符串输入一个很大的数 任意 然后一个个转换成整型 附上一部分代码 int num1[1000],num2[1000];main(){ int i=0,count1=0,count2=0,len=0;char a[1000],b[1000];scanf("%s%s",a,b);count1=strlen(a);count2=strlen(b);for(i=count1-1;i>=0;i--)...

scanf中的&是什么意思
scanf函数的作用是按照指定的格式从标准输入流读取数据。标准输入流就是指我们从键盘上输入的按键。比如我们一般输入2个整数的话,那么中间会使用空格进行间隔,这个就是scanf默认定义的格式。值得注意的是,scanf() 函数容易受到输入格式的干扰,比如输入错误的格式控制字符串或者输入的数据类型与格式控制字符...

C语言中的问题
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合 %% 读%符号 格式输入输出示例 scanf("%d,%d,%d",&a,&b,&c); \/\/ 从键盘输入三个整数,用逗号分隔 scanf("%c", &s);...

C语言中的Scanf的用法
scanf 函数最主要的用法是:scanf("输入控制符", 输入参数);函数原型:int scanf(const char * restrict format,...);函数 scanf() 是从标准输入流stdin (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。

C语言"\\"什么意思
反斜杠\\可以表示转义字符,也可以表示文件路径。如:c:\\qq.txt使用 \\表示文件路径。更多的是用来表示转义字符,也就是经常使用在printf与scanf里面的格式控制符:c 字符 d 十进制整数 e 浮点数,指数e的形式 %s 字符串 E 浮点数,指数E的形式 %u 无符号十进制整数 f 浮点数,小数点...

scanf怎么用?
scanf用途:从键盘输入数据,从键盘得到字符,放到某个变量里。格式:scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)它...

德昌县15388274431: 从键盘输入无符号整数n,将其以二进制形式输出. -
文高欣立: #include<cstdio>#include<string> int main() { unsigned n; char str[17]; scanf("%d",&n); itoa(n,str,2); for(int i=strlen(str);i<16;i++) printf("0"); printf("%s\n",str); system("pause"); return 0; }

德昌县15388274431: 输入1 个正整数n,将其转换为二进制后输出. -
文高欣立: 程序源码如下: #include "pch.h"#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <math.h>using namespace std; void dectobin(int n) {//转换二进制函数 int in = n / 2; int out = n % 2; if (n == 0) { return; } dectobin(in...

德昌县15388274431: 用shell语言编将一个无符号整数n转换为2进制表示. -
文高欣立: #!/bin/sh unset _num #_n为无符号整数 while :do read -p "Enter the number:" _num if [[ "$_num" =~ ^([0-9]|[1-9][0-9]+)$ ]] then echo -n "The binary value of the number is " echo "ibase=10;obase=2;$_num"|bc exit 0 else echo "Wrong value." fi done

德昌县15388274431: 在Text1中输入正整数n,将其转化为二进制数c,通过Text2输出
文高欣立: Private Sub Command1_Click() Dim n As String, h As String, i As Integer, c As String n = Trim(Text1.Text) If Not (IsNumeric(n) And Val(n) &gt; 0 And Int(n) = Val(n)) Then '判断n非数字、非正数、非整数情况 MsgBox "输入数字符n非正整数,请确...

德昌县15388274431: 输入一个正整数n,将其转换为二进制后输出.要求定义并调用函数dectobin(n),它的功能是输出 -
文高欣立: void dectobin(int n){ int in = n/2; int out = n%2; if(n == 0){ return ; } dectobin( in); printf("%d",out); }

德昌县15388274431: 输入一个无符号整数,计算其二进制编码有多少位 -
文高欣立: int main() { int len = 0, a = 211; do { a >>= 1; len++; } while (a > 0); printf("%d", len); return 0; }

德昌县15388274431: 从键盘输入一个整数,转换成二进制输出. -
文高欣立: #include void main() { int x,a[32],i=0; printf("请输入一个十进制整数.\n"); scanf("%d",&x); while(x!=0) { a[i++]=x%2; x=x/2; } for(i--;i>=0;i--) printf("%d",a[i]); printf("\n"); }

德昌县15388274431: c语言由键盘给定一个正整数N,编程实现求该整数对应的二进制数中1的个数.在线等! -
文高欣立: #include int main() { int n,i,x; char s[33]; scanf("%d", &n ); itoa( n, s, 2 ); x=0; for( i=0;s[i];i++ ) if ( s[i]=='1' ) x++; printf("%d\n", x ); return 0; }

德昌县15388274431: 编一程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符数组中并输出 -
文高欣立: 加上getch();在最后一个大括号上面.

德昌县15388274431: 输入1 个正整数n,将其转换为二进制后输出. 输入 输入一系列正整数,每行一个整数,第一行n为输入的转换 -
文高欣立: 这个程序应该符合你的要求了,理解起来应该比较容易: #include#include #define M 16 // 初始化二进制位数,可改变宏定义修改位数 #define N 3 // 初始化输入数的个数数,可改变宏定义修改个数 void transfer(int a,int x) //转换函数 { int b[M],m,n,...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网