美文网首页我爱编程
C#基础(3) 进制转化 运算符

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

作者: cGunsNRoses | 来源:发表于2017-08-17 16:25 被阅读0次

进制 进位的机制

位权:从个位开始向左依次编号为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

}

}


相关文章

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

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

  • C#二、十、十六进制相互转换

    1、十进制int转化为二进制字string 2、二进制字string转化为十进制int 3、十六进制int转化为二...

  • javaSE学习-位运算符

    & 位与 | 位或 位运算符会将数字转化为二进制再进行计算。 分析: 上面这些运算符会将数字转换成2进制再进行运算...

  • Python入门

    数字 数字类型和类型转化 运算符 进制转化 小整数缓存(-5~256) 常用内置函数 常用模块 字符串 特点不可变...

  • day02 Python基础

    目录 01 Python基础 02 Python基础语法 03 变量 04 运算符 05 进制转换 01-heol...

  • 运算符

    算术运算符 赋值运算符 比较运算符 逻辑运算符 位(bit)运算 二进制: 八进制: 十六进制 进制运算有反码 补...

  • C#重载运算符

    C#中比较运算符的重载 == and != ; > and <; >= and <=. c#中要求比较运算符的重载...

  • 2018-12-27幸运抽奖

    幸运抽奖 一、 总结 (1) . C#中运算符有算术运算符、关系运算符和逻辑运算符等 (2) . C#中的类型转换...

  • 异或运算

    运算符: ^ 牢记: 相同为0,不同为1说明: 异或运算是二进制计算, 所以参加运算的值会先转化为二进制数 ...

  • 技术问 - 进制转换

    二进制转化成八进制 二进制转化成十六进制 任意进制转化为十进制 利用十进制转化十进制,推导出按权求和规律 按权求和...

网友评论

    本文标题:C#基础(3) 进制转化 运算符

    本文链接:https://www.haomeiwen.com/subject/pzrkrxtx.html