C#基础(3) 进制转化 运算符

进制 进位的机制

位权:从个位开始向左依次编号为0,1,2...分别代表进制的几次方


//二进制 八 十 十六

进制转化 

https://jingyan.baidu.com/article/495ba84109665338b30ede98.html

各个进制间的转化

  区分:八进制前面有0 ; 十六进制前面是 0x

十进制转X进制:连续除 X 倒取余

X进制转十进制:按(位)权求和


2的10次方1024对应的十进制值:100 0000 0000

从第一位开始:1 2 4 8 16 32 64 128 . . ... 256 512 1024 2048

//二进制:00000111 = 7 (1*2^0+1*2^1+1*2^2 == 1 + 2 +4)

//71 (十) =  107(八进制) //满8往前进一位

//十六 0x 0123456789abcdef(表示1到15)

//0x10 = 16 (0* 16^0 +1*16^1)


二进制转化为八:看三位 从个位开始的三位 为八进制的从左到右第一位

          转为十六:看四位

进制转化       十六                 二                     八

100               0X64            01100100           144


获取内存占用的大小

 bytes(字节)存储单位 2.5MB/s

bits比特(位)传输单位 20mbps(通常20兆的网除8就是2.5MB/s下载速度)

一字节 == 8比特位,一个汉字占两个字节 一个字母占1个字节

同一个类型的内存是固定的

有符号整形第一位是符号位 uint 是无符号整型

Console.WriteLine("bool 类型大小 ->{0}", sizeof (c));//sizeof计算 出来单位(字节) 

此处计算的是bool 类型的内存占用大小

float 4字节  double 8字节

注:int类型默认32位有大小范围  且第一位为符号位 0 为正 1 为负

//00000000 00000001

//11111111   11111111最大的十六位是2^16-1 = 255


运算符

二元运算符+ - * / % += -= *= /= > < >= <= ++ --

两个操作数在运算符左右

赋值运算符 =

一元运算符 ++ -- 

三元运算符 ?:

逻辑运算符 && || ! ==

位运算符  & | ^  << >>


c -= a;意思是 c = c - a;

 a += b;意思是 a = a + b;

float d = a + e;//浮点数可以取余 可以++ --

// float e = a / d;

// Console.WriteLine ("{0}",e);

// a *= b;意思是 a = a * b;

// a /= b;意思是 a = a / b;


求余运算符 %

a % b;//如果a < b 那么余数是a

// int a = 34,b = 45;

// //a % b = 3;

// //b % a = 2;

// Console.WriteLine("{0},b % a");

// Console.WriteLine("{0},b % 10");//求个位数

// float c = 1.2f,d = 2.4f;

// int e = (int)(a % d);//关于运算符优先级问题(int)(a % b)

// Console.WriteLine ("{0}",e);


//关系运算符 运算结果为bool类型

// int a = 34,b = 45;

// bool c = a > b;

// c = a < b;

// c = a >= b;

// c = a <= b;

// c = a != b;//不等

// c = a == b;//恒等


//++ -- 一元运算符

//当++ --运算单独在一行时 在前在后都一样;

//a++(a--) 先做其他操作,再进行自加(自减)

//++a(--a) 先进行自加(自减),再做其他运算

// int a = 1;

// ++a;//a = a + 1;

// a--;//a = a - 1;

//

// float b = 1.0f;

// b++;//b = b + 1;

// b--;//b = b - 1;


(a++和++a的区别)

//a++先输出了a,先操作a后自加;

//++a先加后输出;最终输出结果都是a+1;

//

// int c = 3;

// int d = c + a++;//d = 3 + 1 = 4 后a + 1后 a = 2

// int e = c + ++a;//e = 3 + (a + 1 = 3)=6 此时a = 3


// Console.WriteLine("{0},{1},{2}",a,d,e);

//三元运算符 ?:


// int a = 10,b = 9;

// int c = a > b ? a : b;

取ab里面的最大值

//如果a>b成立则c为a,不成立c为b;


逻辑运算符   与&&(且)  或||  非 !

//注 C#短路机制导致如果在或|中前面正确后面的就不会计算

如果在与&&中前面错误后面的也不会计算 为了减少计算量

//思考下面  逻辑运算符短路机制

// int a  = 2,b = 3,c = 5;

// if ((a++ > b || --c > b) && ++a == b) {

// Console.WriteLine ("上{o},{1},{2}", a, b, c);

// } else {

// Console.WriteLine ("下{0},{1},{2}",a,b,c);

// }


// int a = 2,b = 3, c = 4;

//// bool isRight = false ;

//// Console.WriteLine ("{0}",!isRight);//(! 非)

//

// if (a>1&&b<5){

// Console.WriteLine ("满足条件");//(与&&)

// }

//

// if (a > 4 || b < 4) {

// Console.WriteLine ("一真则真");//(或||)

// }

// if (a++ > 2 || --c <= 4) {

// Console.WriteLine ("a = {0},c = {1}", a, c);//a = 3 c = 4 c 不进行减减

// }//在或||运算中,当a++>2为真,那么后面的计算就不进行

//

// //此题中条件不满足 最终只执行到a++ 最后a = 3,b = 4

// if (a++ > 2 && --c <= 4) {

// Console.WriteLine ("a = {0},c = {1}", a, c);

// }

// Console.WriteLine ("a = {0},c = {1}", a, c);

//按位运算符

//& 按位与      一 0则为 0  两 1 为  1  ;

//|  按位或      一 1 则为 1  两 0 为 0 ;

//^  按位异或  相同为 0 不同为 1

//~  按位取反      0变 1  1变 0

//<< >>   按位左右移动  根据箭头移动方向

// int a = 15  ;//0000 1 1 1 1          >>0000 001 1

// int b = 60;//001 1  1 100          <<1 1 1 1 0000

//                     //0000 1100    &  12

//                     //0011 1111     |  63

//                     //0011  0011    ^  51

//                     //1 100 1 100  ~  -52  补码 第一个数字 1 为正 0为负

// int c = a & b; //1 1为 1

}

}



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 知识点: 注:int类型默认32位有大小范围 且第一位为符号位 0 为正 1 为负 8.4作业 A:1、风力预警系...
    cGunsNRoses阅读 4,755评论 0 0
  • 基础 .NET概述 参考:http://www.cnblogs.com/yplong/p/3279934.html...
    donite阅读 5,564评论 0 8
  • 1. [C#语言基础]请简述拆箱和装箱。 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何...
    胤醚貔貅阅读 10,316评论 1 29
  • •1 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语...
    CONLYOUC阅读 12,785评论 9 66
  • 就在刚才,我用两个保险袋,把房间里的两个火灾报警器包了起来。 我觉得既然要来写写抽烟这事儿,就得抽着烟写。 在俄罗...
    都先生阅读 4,613评论 0 0