計算機基礎(進制)以及c#入門
一、進制
進制就是進位計數值,是人為定義的一種帶進位機制的計數方法,在計數時采用逢N進1的方式進行計數。

二進制是機器使用的語言,特點是“逢二進一”,二進制在硬體技術上很容易實作,而且儲存的資料具有穩定性。
一般二進制數通常8位一寫,如“0001 1101”,主要是為了配合一位元組等于8位的換算制度。
八進制與十六進制常用于計算機語言中,用于友善換算二進制。八進制是“逢8進1”,而十六進制是“逢16進1”.(十六進制使用0-9,A-F來表示數字)
如:八進制“27”;十六進制“89D”
十進制即為我們日常生活中使用的計數方法。
二、進制轉換
1、十進制轉二、八、十六進制
當我們需要将十進制轉化成其他進制時,常采用“輾轉相除法”進行轉換,以二進制為例:
即,将被轉化數短除進制數,得到下一個整數,并得到一個餘數,一直重複直至被除數為0,将得到的餘數由下往上依次寫出,得到我們需要的進制數。八進制,十六進制同理。
2、其他進制之間的轉換
在進行其他進制的轉換時,我們注意到,由于八進制與十六進制的特殊性(23=8 24=16),我們可以将二進制作為一個轉換的中間進制,進而進行其他進制的轉換,這樣可以友善的将一個數快速的轉換成我們所希望看到的進制。
(1)二進制轉十進制
例如“0101 1010”這個二進制數準換為十進制,我們注意到因為二進制是逢二進一的特性,是以我們容易得知二進制“10”=“21”;“100”=“22”……依次類推。
是以我們将“0101 1010”這個數可以寫為
0 x 27+1 x 26+0 x 25+1 x 24+1 x 23+0 x 22+1 x 21+0 x 20=64+16+8+2=90
這樣就能輕松的将二進制轉換為日常使用的十進制。
(2)八進制、十六進制轉二進制
在這兩個進制轉換時,記住23=8;24=16。因為在準換時可以看到八進制的一位最高為7,換算成二進制為111,即3位能表示的最大二進制。
反過來說,用3位的二進制數,就能完全表示八進制中的一位數字,這樣就得到了八進制與二進制的轉換方法,例如:
将八進制數:26拆開變成2 6,将兩個數分别用二進制表示為2=010 6=110,再組合在一起就得到了二進制數010110;
反之,任取一個二進制數:10011010010,我們将二進制數從後往前3位一劃分,最後缺位的話在前面補0,得到:010 011 010 010,然後每三位轉換成對應的八進制數即可,即:2 3 2 2。
十六進制在操作方法上與八進制無異,隻是将操作位數從3位二進制變成4位二進制即可,因為我們可以發現十六進制的最大位數F換算成二進制就是1111。
三、原碼、反碼、補碼
以一位元組為例,任取一個二進制數:10010110
在二進制中,由于沒有負數,我們人為規定最前面的一位數為符号位,“0”代表正,“1”代表負。這樣一個8位的二進制數,最高隻能有7位來表示。對一個正數來說,原碼、反碼、補碼是一樣的。
對于負數
反碼就是除去符号位,剩下的位,按位取反;
補碼就是反碼+1。
這樣聽起來很簡單,但實際有什麼用呢?考慮以下問題:
1-1=?在十進制中,很容易得到答案——0,但是轉換為二進制:
原碼:0000 0001 + 1000 0001=1000 0010= - 2 ?
反碼:0000 0001 + 1111 1110=1111 1111(變回原碼)=1000 0000= - 0 ?
補碼:0000 0001 + 1111 1111=0000 0000(變回原碼)=0000 0000= 0
可以看到,補碼的存在很好的解決了正負數相加的問題。
四、c#入門
1、c#語言
c#是一門面向對象的,安全的,穩定的,簡單的,由c與c++衍生而出的一款程式設計語言,很好的繼承了前輩們的強大功能,同時變得更加簡潔。可運作于.NET Framewok&.NET Core上。
2、建立第一個c#程式
Using System
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
3、值類型–基本資料類型
4、常量、變量
常量,是一個在程式運作期間無法被改變的量,反言之,變量,就是在程式中可以改變的量。兩者均為資料的容器,在聲明時需要指定資料類型,常量在聲明時要在前面注明const。
如
const int a = 5;
int b = 10;
其中a為常量,b為變量。
變量的定義的格式:類型修飾符 變量名 (= 初始值)
變量的命名規則:
1、隻能由數字 字母 下劃線 或者@組成 ,其中 數字無法開頭,@隻能開頭;
2、不能與系統關鍵字重複;
3、不能使用重複的變量名(c#識别字母大小寫)
4、使用駝峰命名法;
5、見名知意
5、運算符
運算符:簡單介紹兩種:指派運算符與算數運算符。
指派運算符:“=” 用于給變量指派,将右邊的值給左邊的值(優先級較低)
算術運算符:用于數值間的計算,例+、-、*、/、%、++、–
“++”“–”:
如果++在變量前,就先自增,再參與運算;
如果++在變量後,就先運算,再自增;
複合運算符:(算數運算的縮寫形式)如:a+=b ==> a=a+b
表達式:由常量、變量、運算符組成的語句
6、基本輸入輸出表達式
輸出語句:
輸入語句:
Console.ReadLine();//代表讀取一行字元串
Console.Read();//代表讀取一個字元