進(jìn)制
進(jìn)制:進(jìn)位機(jī)制(進(jìn)位方法)。基數(shù):也叫底數(shù),基數(shù)為n,代表n進(jìn)制。
位權(quán):從個(gè)位開始向左依次編號為0,1,2...,分別代表n進(jìn)制的幾次方。
計(jì)算機(jī)中常見的進(jìn)制:二進(jìn)制、八進(jìn)制、十六進(jìn)制和十進(jìn)制為了區(qū)別不同進(jìn)制的數(shù),八進(jìn)制以0開頭、十六進(jìn)制以0x開頭
注意:二進(jìn)制以 00開頭;八進(jìn)制以0開頭;十六進(jìn)制以0x開頭
十進(jìn)制轉(zhuǎn)x進(jìn)制:連除倒取余;
x進(jìn)制轉(zhuǎn)十進(jìn)制:按權(quán)求和:
如:將001010轉(zhuǎn)成十進(jìn)制
0*2^0+1*2^1+0*2^2+1*2^3=10;
基本數(shù)據(jù)類型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?含有的字節(jié)大小
bool ? ? ? ? ? ? ? ??邏輯值(真/假) ? ? ? ? ? ? ? ? ?1
sbyte ? ? ? ? ? ? ??有符號8位整數(shù) ? ? ? ? ? ? ? ?1
byte ? ? ? ? ? ? ? ??符號8位整數(shù) ? ? ? ? ? ? ? ? ? ?1
short ? ? ? ? ? ? ??有符號16位整數(shù) ? ? ? ? ? ? ? 2
ushort ? ? ? ? ? ??符號16位整數(shù) ? ? ? ? ? ? ? ? ? 2 ??
int ? ? ? ? ? ? ? ? ? ?有符號32位整數(shù) ? ? ? ? ? ? ? 4
uint ? ? ? ? ? ? ? ? ??符號32位整數(shù) ? ? ? ? ? ? ? ? ? 4
long??????????????????有符號64位整數(shù) ? ? ? ? ? ? ? 8
ulong????????????????符號64位整數(shù) ? ? ? ? ? ? ? ? ? 8
char??????????????????16位字符類型 ? ? ? ? ? ? ? ? ? ?2
float??????????????????32位單精度浮點(diǎn)類型 ? ? ? ?4
double??????????????64位雙精度浮點(diǎn)類型 ? ? ? ?8
decimal??????????????128位 精度浮點(diǎn)數(shù) ? ? ? ? ? ?16
string ? 字符串
聲明變量和賦值
類型修飾符 ? 變量名 ?=初始值;
例如:int age=23;
變量命名禁忌
只能由數(shù)字、字母、下劃線或@組成,并且數(shù)字不能開頭,@只能用在開頭。
不可以與系統(tǒng)保留字同名。
不能使用重復(fù)的變量名(C#大小寫敏感)。
見名知意(規(guī)范)
駱駝命名法,第一個(gè)單詞小寫,后面單詞的首字母大寫
轉(zhuǎn)義字符
\n ? ? ? ? ? 換行
\\ ? ? ? ? ? ?打印\
\" ? ? ? ? ? ?打印"
\' ? ? ? ? ? ? 打印'
格式化輸出(占位符)
格式:Console.Writeline("x,{0},xxx{1},x{2}x",a,b,c);
{0:fn} ? 保留小數(shù)位
f ? 默認(rèn)保留兩位小數(shù) ? n=保留的小數(shù)的位數(shù)
{0:00.000} 可保留自定義保留內(nèi)容,可以為整數(shù)部分
{0:pn} 轉(zhuǎn)化為百分?jǐn)?shù)并保留n位小數(shù)
類型轉(zhuǎn)換
隱式轉(zhuǎn)換
例如:int age=10;
? ? ? ? ? ? double sum=age;
條件:
1.數(shù)據(jù)要兼容,都是值類型;
2.從取值范圍小的往大的轉(zhuǎn);
強(qiáng)制轉(zhuǎn)換
從取值范圍大的轉(zhuǎn)換成取值范圍小的,會丟失精度
使用變量名進(jìn)行的強(qiáng)轉(zhuǎn)
double a=10.43f;
float b=(float)speed;
括號內(nèi)是需要強(qiáng)制轉(zhuǎn)換成的類型,括號左是待強(qiáng)制轉(zhuǎn)換的變量。
使用parse進(jìn)行強(qiáng)轉(zhuǎn)
int a=int.parse(console,readline());
將string強(qiáng)制轉(zhuǎn)化成int
使用ConvertTo進(jìn)行強(qiáng)轉(zhuǎn)
string a="1234";
int b=convert.toint16(a);
常用于convert.tochar
int a=console.read();
char A=convert.tochar((int)a);得到ACSII碼對應(yīng)的內(nèi)容