Ⅰ c語言怎麼輸出二進制數
有八進制,十進制和十六進制,不過沒二進制,如果要,只能自己寫轉化
#include<stdio.h>
void main()
{
int n = 11;
printf("%o\n", n);
printf("%d\n", n);
printf("%x\n", n);
}
Ⅱ C語言中怎樣輸出一個二進制的數
//我們用按位運算符:右移>>和按位運算符與^,這兩個功能就可以實現。
#include<stdio.h>
voidprintBinary(intnumber);//這是聲明一個自定義的函數,讓編譯器知道我們造了一個這么個函數,功能:將整數以二進制形式輸出。
intmain()
{
printBinary(22);//括弧裡面可以填上你要輸出的整數,比如要輸出22的二進制形式
return0;
}
voidprintBinary()//自定義一個函數printBinary
{
inttemp=sizeof(number)-1;//定義一個變數:如果你的編譯器是32位的,也就是inttemp=31;
while(temp>=0)//temp是循環的次數,不需要糾結判斷是>=還是>,寫完之後檢驗一下就知道哪個對了。
intvalue=number>>temp^1;//a>>temp。temp移動後,是把這個整數的二進制形式中最後一位,依次與1進行按位與運算。假如temp=31,就是把這個整數的二進制形式右移31位,只剩下了這個整數的二進制形式的開頭第一個數字,然後與1進行按位與運算。真則為1,假則為0。
printf("%d",value);//每次輸出整數的二進制形式的一個數字,從開頭開始輸出。.
temp--;//按位右移循環,直到把整數內存中所有的位移完畢。從內存中二進制形式的第一位開始。
}
Ⅲ C語言如何用二進制輸出變數里的數值!
程序如下:#include <stdio.h>
int main(void)
{
int i,j,p;
char code[32];
scanf("%d",&i);
j=i;
p=0;
while(j>0)
{
code[p++]=j%2 + 48 ;
j=j/2;
}
j=p;
printf("the num is : %d, \n the code is:",i);
while(j)
{
printf("%c",code[--j]);
}
getch();
return 0;
}
Ⅳ 如何用C語言將一個數值按二進制格式輸出
繞不開pi的
因為計算機算三角函數按泰勒公式展開就是用弧度制算的
Ⅳ 怎麼用c語言輸出二進制碼
在C語言的標准輸出中,有16進制,10進制和8進制的輸出格式,但是沒有二進制的輸出格式。所以要想輸出二進制,只能靠自己寫函數進行輸出了。
基本思想為通過移位操作+與操作取出各個位上的值,然後對其進行輸出即可。
以32位無符號整型數據二進制輸出為例,代碼如下:
#include<stdio.h>
voidbinary_print(unsignedintv)
{
inti;
intbit;
intsize=sizeof(v)*8;
//這里的size是輸入參數v的位數,直接用32代替也可以,但寫成sizeof(v)*8這樣更為通用。
for(i=0;i<size;i++)
{
bit=v&(1<<(size-i-1));//提取出第i位的值
if(bit==0)putchar('0');
elseputchar('1');
}
}
Ⅵ c語言的二進制數值如何直接輸出
1、首先打開vc6.0, 新建一個項目。
Ⅶ c語言以二進制輸出
#include<stdlib.h>
#include<stdio.h>
voidmain(){
intnumber=43;charstring[100];
itoa(number,string,2);
printf("原數=%d二進制數=%s ",number,string);
}
這個可以滿足你嗎?讓程序輸出反碼補碼好像要求有點高。你根據我寫的程序自己算一下反碼補碼並不是一件很難的事。
Ⅷ 如何在c語言中輸出二進制數
可以用 %x格式 輸出16進制數,16進制一位拉4位,按8421分布,就是2進制數。1個位元組正好用2位16進製表示,轉為8位2進制。
Ⅸ C語言,怎樣輸出二進制數
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intnum;
printf("Enteranumber: ");
scanf("%d",&num);
inti;
inta[6]={0};
intk;
intj;
for(i=0;i<=5;i++)
{
a[i]=num%2;
j=num/2;
num=j;
}
intp;
printf("Result: ");
for(p=5;p>=0;p--)
{
printf("%d",a[p]);
}
return0;
}
Ⅹ 在C語言中怎麼把一個數轉換成二進制然後輸出
數據在內存中本來就是以二進制補碼存放的,設法從高位元組至低位元組一個bit一個bit地輸出到屏幕上即可。根據題面要求,輸出過程還要做以下工作:
從最高位元組開始檢測,全0的位元組略去;
每8位增加輸出一個空格。
代碼如下:
12345678910111213141516//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char *p; unsigned i,n,x=1<<sizeof(int)*8-1; printf("Input an integer...\n"); scanf("%d",&n); for(p=(char *)&n,i=sizeof(int)-1;i>0;i--) if(*(p+i)==0) x>>=8; else break; for(i=0;x;x>>=1) printf(++i%8 ? "%d" : "%d ",(n&x) || 0); printf("\n"); return 0;}