C語言二進製程序
A. c語言怎麼定義一個二進制數
C語言中沒有 「二進制數」這種類型,所以沒辦法直接定義;但可以直接定義16進制數。
例:
int main(){
int a;
scanf("%p",&a);//16進制數輸入%p是輸入一個十六進制的數scanf("%llx",&a);也可以輸入十六進制並且比較正規
printf("%d",a);//十進制輸出%d是輸出一個十進制的數
printf("0x%x",a);//16進制輸出printf("%llX ",a);也可輸出一個十六進制數如果紅色部分大寫X則輸出十六進制為大寫字母否則小寫x輸出為小寫字母
}
(1)C語言二進製程序擴展閱讀
C語言中定義整型數據的十六進制數:
unsigned int hex_val = 0x123;
//定義了一個整型變數並賦以初始值為一個十六進制常量。
if (scanf("%x", &hex_val) != EOF)
{
printf("它的八、十進制分別=%o、%d ", hex_val, hex_val);
}
B. c源程序為什麼不能表示二進制,程序本身不就是二進制嗎
數據在內存中以二進制補碼形式存放!之所以用二進制存放是因為計算機容易識別二進制數,只有0和1表示,編碼解碼速度塊,存取速度塊。 我們熟悉的10進制、8進制、16進制數,表示起來都不是很長,如十進制數20,表示成8進制是24,表示成16進制是14,而表示成二進數(最短的是八位)是00010100。可見,二進制數書寫起來比較困難,你想想,你想輸入一個數值是20的數,你是想輸20、24、14、00010100中的哪一個?顯然,如果不是特殊的要求,我想我們都不會選擇輸入00010100吧。 基於此,C語言沒有給你提供輸入二進制數的格式控制符,不像10進制、8進制、16進制一樣有%d、%o、%x這樣的輸入控制符。也就是說,你不能直接輸入輸出二進制數! 但是,C語言同樣可以表示二進制數,因為數據在內存中都是以二進制數存儲的,你想想,存都存的是二進制,還不能表示二進制數嗎?只是數據的存儲方式你看不到,但是假如你想看到一個數的二進制數,同樣可以簡單的實現。 請看程序,它就是把num這個數輸出成二進制形式: #include<stdio.h> #include <stdlib.h> void main() { int num; char str[33]; printf("請輸入整數num: "); scanf("%d",&num); itoa(num,str,2); printf("%d的二進制形式是%s\n",num,str); }
C. 用c語言編寫八進制轉換二進製程序
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intnum;
charstr[33];
printf("輸入八進制數:");
scanf("%o",&num);
itoa(num,str,2);
printf("八進制數%o轉化為二進制是%s\n",num,str);
return0;
}
已修改!
解題技巧:用itoa()和atoi()兩個庫函數。
註:
1.itoa()函數有3個參數:第一個參數是要轉換的數字,第二個參數是目標字元串,第三個參數是轉移數字時所用的基數。在上例中,轉換基數為2。2:十進制;10:十進制。
2.itoa(num,str,2);的作用是將num這個數以二進制形式的字元串形式存放在str指向的內存中。
如:itoa(10,str,2);轉化後str中字元串是「0001010」,10D=0001010B。
(後綴D、B分別代表十進制、二進制)
3.itoa(num,str,10);的作用是將num這個數以十進制形式的字元串形式存放在str指向的內存中。
如:itoa(10,str,2);轉化後str中字元串是「10」,10D=10D。
4.使用itoa()函數時別忘記加頭文件#include<stdlib.h>
D. 怎麼在C語言裡面輸入二進制數字
c語言不能直接表示二進制,沒有數字前綴表示。
例子如下:
假設有一個
int
類型的數,值為5,那麼,我們知道它在計算機中表示為:
00000000
00000000
00000000
00000101
5轉換成二制是101,不過int類型的數佔用4位元組(32位),所以前面填了一堆0。
(4)C語言二進製程序擴展閱讀
進制是一種計數的方式,常用的有二進制、八進制、十進制、十六進制。任何數據在計算機內存中都是以二進制的形式存放的。
我對進制的個人理解,二進制數是以2為計算單元,滿2進1位的數;八進制數是以8為計算單元,滿8進1位的數。
對於任何一個數字,我們都可以用不同的進制來表示,比如,十進制數12,用二進製表示為1100,用八進製表示為14,用十六進製表示為0xc。
E. 用C語言編寫二進制轉換十進制的程序。
1、為了完成進制的轉換,在主函數中聲明了個函數Sum,主要用於將二進制的每一位轉換為十進制後的數相加,返回值就是相加後的和。另外定義了一個數組array[8],用於存放輸入的八位二進制數。
F. 用C語言編寫二進制數運算模擬程序
用數組模擬就行。
思路:
1、將輸入轉化成二進制數,逆序存入數組中。
2、用兩數組模擬四則運算,並將運算的結果存入第三個數組中。
3、逆序輸出第三個數組。
希望對你有幫助!