當前位置:首頁 » 編程語言 » c語言1和0哪個是正數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言1和0哪個是正數

發布時間: 2022-11-19 14:04:31

c語言問題求助

二進制11111111代表-127,是按原碼規則來算。若按補碼規則,二進制11111111算出來是-1。

文中說的是10000000代表-128。

詳細描述如下:


[+1] = [00000001]原= [00000001]反= [00000001]補

[-1] = [10000001]原= [11111110]反= [11111111]補

計算機將第1位作為符號位,0表示正數,1表示負數。

原碼:原碼很好理解,第1位是符號位,其餘位表示數值。

反碼:

(1)正數:正數反碼是其本身。

(2)負數:去掉原碼符號位,其餘位按位取反。

補碼:

(1)正數:正數補碼是其本身。

(2)負數:在反碼基礎上加1。

由上述定義可知:

[+0] = [00000000]原= [00000000]反= [00000000]補

[-0] = [10000000]原= [11111111]反= [00000000]補

既然+0和-0的補碼一致,所以只需保留一個(+0和-0原碼不同,注意看符號位)。

這樣一來,「[-0] = [10000000]原」相當於沒有使用,於是規定:「[10000000]」為-128。

既然是「規定」,就不能按原碼、反碼、補碼的規則計算了。設計計算機時就在硬體中設置為:10000000代表-128。

之所以引入補碼,是為了消除減法,用加負數來替代減法運算,這樣讓CPU設計更簡單。

② C語言用整數「1」表示「邏輯真」,用整數「0」表示「邏輯假」。 在判斷一個數據的「真」或「假」時,以0和

在C語言中,可以用1、0來表示邏輯的真、假;也可以用表達式來表示,其中表達式正確則表達式的結果為1,也就是真,反之則為0;當表達式的結果是一個具體的數字時,正數則為真,0和負數都為假。

③ C語言中1和0代表什麼

邏輯表達式的值應該是一個邏輯量「真」或「假」。C語言編譯系統在表示邏輯運算結果時,以數值1代表「真」,以0代表「假」,但在判斷一個量是否為真時,以0代表「假」,以非0代表「真」。即將一個非零的數值認作為「真」。

④ C語言中「1」和「0」那個表示正確哪個表示錯誤謝謝!

非零表示true,0表示false;只要是非零就是正確哈!

⑤ 在C語言中正確的是用0還是1哦

在c語言中,true為1,false為0

⑥ c語言。0按位取反是1還是-1,1按位取反是0嗎

i為int類型 通常佔4個位元組
0的原碼:0000 0000 0000 0000 0000 0000 0000 0000
取反: 1111 1111 1111 1111 1111 1111 1111 1111
最高位是1所以是負數,求其原始數據,方法是
再次取反加1(符號位不變)
取反: 1000 0000 0000 0000 0000 0000 0000 0000
加1 1000 0000 0000 0000 0000 0000 0000 0001
所以是 -1

⑦ C語言中正整數的定義int也包括了負整數!

C語言基礎沒學過嗎,整型在數值上分為了無符號和有符號。
區別在於在內存空間的存儲上,高位是不是代表符號位,有符號位的最高位是1則是負數,0是正數
其餘位則為數值部分,但是計算機存儲是以補碼形式存儲的,方便計算。
無符號位應該是根據char型來的,畢竟char型是不需要符號位的8位二進制數,可以表示256個字元
無符號整數提供個更寬的正數部分,也為一些實際情況提供了更好的表示。
int型默認定義為有符號整數,最高位為符號位,要定義正整數,用unsigned
int

⑧ c語言中0與1以及0與非零有區別么

c語言中0與1以及0與非零沒有區別
C中邏輯運算的結果只有兩種:真

假,
假用數值表示為0,非0表示為真,一般會用1來表示。
C語言中提供了三種邏輯運算符:
&&(與運算)
||(或運算)
!(非運算)
其求值規則如下:
1)
與運算(&&)
參與運算的兩個量都為真時,結果才為真,否則為假。例如:

5>0
&&
4>2
由於5>0為真,4>2也為真,相與的結果也為真。
2)
或運算(||)
參與運算的兩個量只要有一個為真,結果就為真。
兩個量都為假時,結果為假。例如:

5>0||5>8
由於5>0為真,相或的結果也就為真。
3)
非運算(!)
參與運算量為真時,結果為假;參與運算量為假時,結果為真。例如:

!(5>0)
的結果為假。
雖然C編譯在給出邏輯運算值時,以「1」代表「真」,「0
」代表「假」。但反過來在判斷一個量是為「真」還是為「假」時,以「0」代表「假」,以非「0」的數值作為「真」。例如: 5和3均為非「0」值,因此5&&3的值為「真」,即為1。
又如: 5||0的值為「真」,即為1。

⑨ C語言中什麼時候0表示真,1表示假

C語言規定,1為真(TRUE),
0為假(FALSE)。
所以題目本身是一個偽命題,在C語言的環境下,任何時候都不會出現0為真1為假的情況。
擴展開來,用來判斷的並不一定是1和0兩種,在出現其它值的情況下,C語言會做如下操作:
1
把非整型類型的值,如浮點型,指針等,強制轉為整型。
2
判斷該整型值是否為0。
3
如為0,則值為假;如不為0,則值為真。

⑩ c語言中0與1以及0與非零有區別么

沒有區別。

C語言判斷真假時,以0為假,非0為真,即1也是表示真。

通常使用邏輯變數的做法:

定義一個int類型變數,當變數值為0時表示false,值為1時表示true。

int flag;

flag = 0;

......

flag = 1;

if( flag ){......}

(10)c語言1和0哪個是正數擴展閱讀:

C99提供了_Bool 型,所以布爾類型可以聲明為 _Bool flag。

_Bool依然仍是整數類型,但與一般整型不同的是,_Bool變數只能賦值為0或1,非0的值都會被存儲為1。

C99還提供了一個頭文件 <stdbool.h> 定義了bool代表_Bool,true代表1,false代表0。只要導入 stdbool.h ,就能非常方便的操作布爾類型了。

舉例:

#include <stdbool.h>

#include <stdio.h>

//計算n!,n的值在main中定義

int main(void){

int n = 10; //計算疊乘數

int sum = 1; //用來存放疊乘的結果

bool flag = false; //疊乘標記

int num = n; //循環次數

while( !flag ){

sum = sum * (num--);

//當num=1時結束循環

if( num == 1){

flag = true;

}

}

printf ("%d的疊乘值為 %d ", n, sum);

return 0;

}