1. c#代碼中#是什麼意思
#在很多地方都表示數字的含義。如文件記錄以#1,#2的方式表示文件編號1,編號2等。樓棟表示方法有#101,表示1棟1號房等。注意:此處應將「#」置於數字前。
#在英語中還代表英制重量單位「磅」,作為「磅」的符號時,數字應在「#」之前,如5#(5磅)、15.3#(15.3磅)等。與「第幾號」的用法剛剛相反。
(1)源碼前面帶符號擴展閱讀:
C語言中的 #
C#讀成C Sharp,意為C++++
# 本身為指令 沒有其他意義/也沒有其他效果
# 號必須是該行除了任何空白字元外的第一個字元。預處理指令就是以#號開頭的代碼行。
# 後是指令關鍵字,在關鍵字和#號之間允許存在任意個數的空白字元。
整行語句構成了一條預處理指令,該指令將在編譯器進行編譯之前對源代碼做某些轉換。
下面舉例說明下:
#define 標識符 字元串.
#include <頭文件名.h>
其中的「#」表示這是一條預處理命令。凡是以「#」開頭的均為預處理命令.。
2. c語言中%d怎麼輸出
1、首先,打開編程軟體,這里以Dev C++為例。
2、新建一個源代碼文件,操作步驟如截圖所示。
3、編寫代碼:
```c
#include
int main() {
int i = 0;
scanf("%d", &i);
int j;
j = i % 2;
printf("%d", j);
return 0;
}
```
這段代碼用於輸入一個整數,然後輸出該整數除以2的余數。
4、編譯並運行代碼。輸入數字9後,輸出結果為1,符合預期。
拓展知識:
在C語言中,某些符號具有特殊含義,不能直接用於輸出。例如,`%` 符號在C語言中用於取余運算。如果需要輸出 `%` 符號本身,需要在它前面再加一個 `%` 符號來實現。例如:
```c
printf("x%%y=%f\n", e);
```
上述代碼將輸出 `x%%y=`,其中有兩個 `%` 符號。
3. +0或者-0的源碼、反碼、補碼分別是什麼補碼是一樣的嗎
數字,是以各種代碼,存入計算機的。
數字,可以分成:正數、負數、零。
世界上,只有一個零。
但是,原碼反碼,都編制了兩組代碼!
這就是違反天道了。
-------------------
零的原碼,兩個代碼是:
[+0]原碼 = 0000 0000
[-0]原碼 = 1000 0000
反碼,不甘落後,也是兩個代碼:
[+0]反碼 = 0000 0000
[-0]反碼 = 1111 1111
它們,都是重復定義了「零的編碼」。
計算機,根本就無法使用這種混亂的代碼。
而且,由於零多佔用一組代碼,那麼,所能表示的數字,必然就少一個。
如-128,八位的原碼反碼,都不能表示。
-------------------
在計算機系統中,數值,一律採用補碼表示和存儲。
只用補碼,也是說,原碼和反碼,都無法使用。
補碼的理論,來源於數學的規律,並非是人為的胡編亂造。
零,在補碼中,只用唯一的一組代碼,這就不會產生混亂。
零的八位補碼,就是一個:0000 0000。
並沒有違規的正負零。
-------------------
前面已經說過,原碼反碼,都無法使用。
那麼,求補碼用的「取反加一」,也就失去了理論基礎。
求補碼,是有定義式的。
這定義式,是由數學理論推導出來的,要比胡說八道的「取反加一」更准確嚴密。
當 X >= 0: [ X ]補碼 = X;
當 X < 0: [ X ]補碼 = X + 2^n, n 是補碼的位數。
按照定義式,就可以求出來-128 的八位補碼了:
[-128]補碼 = -128 + 2^8 = 128 = 1000 0000 (二進制)。
如果用「取反加一」,可就難辦了。
因為,-128 並沒有原碼和反碼,拿什麼取反加一!
4. 請問原碼和源碼有什麼區別
原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
源碼就是指編寫的最原始程序的代碼。運行的軟體是要經過編寫的,程序員編寫程序的過程中需要他們的"語言"。音樂家用五線譜和音符,建築師用圖紙和筆,那程序員的工作的語言就是"源碼"了。
二者區別由此可見。
5. +0或者-0的源碼、反碼、補碼
[+0]原碼=0000 0000, [-0]原碼=1000 0000
[+0]反碼=0000 0000, [-0]反碼=1111 1111
[+0]補碼=0000 0000, [-0]補碼=0000 0000
補碼沒有正0與負0之分。正數的反碼、補碼和其源碼相同,負數的反碼是其源碼,除符號位外其他位取反負數的補碼是取其反碼後加1。
詳細釋義:
所謂原碼就是二進制定點表示法,即最高位為符號位,「0」表示正,「1」表示負,其餘位表示數值的大小。
(一)反碼表示法規定:
1、正數的反碼與其原碼相同;
2、負數的反碼是對正數逐位取反,符號位保持為1;
(二)對於二進制原碼10010求反碼:
((10010)原)反=對正數(00010)原含符號位取反= 反碼11101 (10010,1為符號碼,故為負)
(11101) 二進制= -2 十進制
(三)對於八進制:
舉例 某linux平台設置了默認的目錄許可權為755(rwxr-xr-x),八進製表示為0755,那麼,umask是許可權位755的反碼,計算得到umask為0022的過程如下:
原碼0755= 反碼 0022 (逐位解釋:0為符號位,0為7-7,2為7-5,2為7-5)
(四)補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
(5)源碼前面帶符號擴展閱讀
轉換方法
由於正數的原碼、補碼、反碼表示方法均相同,不需轉換。在此,僅以負數情況分析。
(1) 已知原碼,求補碼。
例:已知某數X的原碼為10110100B,試求X的補碼和反碼。
解:由[X]原=10110100B知,X為負數。求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。
1 0 1 1 0 1 0 0 原碼
1 1 0 0 1 0 1 1 反碼,符號位不變,數值位取反
1 +1
1 1 0 0 1 1 00 補碼
故:[X]補=11001100B,[X]反=11001011B。
(2) 已知補碼,求原碼。
分析:按照求負數補碼的逆過程,數值部分應是最低位減1,然後取反。但是對二進制數來說,先減1後取反和先取反後加1得到的結果是一樣的,故仍可採用取反加1 有方法。
例:已知某數X的補碼11101110B,試求其原碼。
解:由[X]補=11101110B知,X為負數。
採用逆推法
1 1 1 0 1 1 1 0 補碼
1 1 1 0 1 1 0 1 反碼(末位減1)
1 0 0 1 0 0 1 0 原碼(符號位不變,數值位取反)
6. -67的原碼和反碼各是多少
十進制-67的原碼是01000011、反碼是10111100和補碼是10111101。
轉換規則:
1、負數的源碼為二進制前面加符號位;
-67=1000011(二進制)=11000011(原碼)
2、負數的反碼=原碼各位取反(除了最高位外);
11000011(原碼)=10111100(反碼)
3、負數的補碼=負數的反碼+00000001;
10111100(反碼)=10111101(補碼)