一、什么是进制?
进制:进制就是进位计数制,是由人为来规定的带进位的计数方法。
二进制:逢二进一
0000 0001
电流为高电频时,为1。
低电频时,为0.
八进制:逢八进一
0000 0017
十进制:
通用进制
十六进制:逢十六进一
9、A、B、C、D、E、F。
0000 001F
二、进制转换
1.?进制转十进制:
X进制转十进制:
三、原码、反码、补码
原码:二进制表示
正数的原码反码补码都一样。
负数的第一位是1: 1000 0101
负数的反码就是符号位不变,其余取反:1111 1010
负数的补码就是符号位不变,反码加一:1111 1011
二进制一个字节有8位组成,所以出现了:1000 0000 , 0000 0000
正零与负零,负零的反码为:1111 1111。补码为 1 0000 0000
超出的第九位舍去,所以负零的补码为正零。
因为计算机无法算减法,减法就是加负数。
例:3+(-1)
原码 补码
0011 0011
+ 1001 + 1111
------------------ ----------------------
1100 = -4 超出负号1位舍弃 0010 = 2
所以,计算时,正负数都用补码来表示。
四、常用数据类型
1. 数据类型就是储存数据的容器。
数据的量级:
1字节 | byte |
1KB | 1024字节 |
1MB | 1024KB |
1GB | 1024MB |
1TB | 1024GB |
1PB | 1024TB |
整型数据类型:
关键字 | bool | sbyte | byte | short | ushort | int | uint | long | ulong |
说明 | 逻辑值 真/假 | 正负 8位整数 | 8位整数 | 正负 16位整数 | 16位整数 | 正负32位整数 | 32位整数 | 正负64位整数 | 64位整数 |
字节大小 | 1 | 1 | 1 | 2 | 2 | 4 | 4 | 8 | 8 |
浮点型数据类型:
关键字 | float(single) | double(Double) | decimal |
精度 | 单精度 | 双精度 | 高精度 |
字节数 | 4 | 8 | 16 |
说明 | 32位 | 64位 | 128位 |
字符型:
char 16位 2字节。
char sex = ‘m’;
五、运算符
赋值运算符:“=”
算数运算符:+,-,*,/
% 取余 两个数做除法返回商的余数。
一元运算符 : ++ , -- 自增自减
a ++ 等同于 a = a+1;
注:优先级不如“=”,所以 b = a++;时,先将a赋给了b ,然后a才自增。
复合运算符: a+=b; 等价于 a=a+b;
三目运算符:a>b?a:b 意思就是先判断a>b吗,如果大于结果就为a,反之则为b。
关系运算符:>大于,<小于,>=大于等于,<=小于等于,==等于,!=不等于
只用于判断不可用于赋值。
逻辑运算符:& 与运算 判断a表达式&b表达式符不符合条件,如果其中一个不符合条件,则都不 符合条件。而且就算a表达式不符合条件,也判断b。
| 或运算 判断a表达式&b表达式符不符合条件,如果其中一个符合条件,则就 符合条件。而且就算a表达式已经符合条件,也判断b。
!非运算 !true = false ; !false = true
短路&&,||。 判断时,如果a表达式已经对或错了,则不看b表达式了。
优点:节约运算量
缺点:如果后方表达式中有运算,则无法执行。
六、类型转换
1:float a = convert.Tosingle(要转换的变量);
convert.Toxx
2:数据类型.parse(要转换的变量);
int a = int.parse();
bool b = bool.parse();
char c = char.parse();
3: 其他类型转string
直接类型.Tostring();