这个程序该怎么编?
负数在c语言中转换成二进制码,这个程序该怎么编??
#include int main() { int x,i; scanf("%d",&x); for(i=31;i>=0;i--) printf("%d",x>>i&1); system("pause"); }
用一维数组存放字符串(如:str[100]),先对负数取绝对值,转换成其二进制形式,将-号放在str[0],然后用循环将其二进制形式放进数组中
http://blog.sina.com.cn/s/blog_798f21a00100wz22.html这个博客里有相关介绍,希望能帮助到你。
简单办法是用联合体,直接打印出来。 typedef union DANDB { unsigned long int i; // 存放十进制数 unsigned char c[4]; // 按字元(bit) 直接打印它出来 } DandB; int main() { int i,j; DandB v; // v 是这种联合体变量 printf("Please enter a integer data\n"); scanf("%d",&v.i); // 输入正整数 // v.i = 15; for (i=3;i>=0;i--){ for (j=7;j>=0;j--) printf("%1d", (v.c[i] >> j) & 1); // 按字元把32位二进制打印出来 } === 手工计算,要不断除2取余,获得所有位,再打印出来。
强制转换 比如: int a=-1, 直接移位就可以转换了
这个程序的编码建议你去官网好好查一下吧。
答:C++就是C的拓展,直接学C++也行,不过难度比较大啊。不如直接学C语言。其实你若不是想编程序,学这些东西除了过计算机等级考试都没什么用。 非计算机专业的话关键...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>