c#二进制、十进制、16进制之间的转换
//十进制转二进制 
Console.WriteLine(Convert.ToString(69, 2)); 
//十进制转八进制 
Console.WriteLine(Convert.ToString(69, 8)); 
//十进制转十六进制 
Console.WriteLine(Convert.ToString(69, 16));
//二进制转十进制 
Console.WriteLine(Convert.ToInt32(”100111101″, 2)); 
//八进制转十进制 
Console.WriteLine(Convert.ToInt32(”76″, 8)); 
//十六进制转十进制 
Console.WriteLine(Convert.ToInt32(”FF”, 16));
在C#中可以对整型运算对象按位进行逻辑运算。按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位。
C#支持的位逻辑运算符如表2.9所示。
运算符号 意义 运算对象类型 运算结果类型 对象数 实例
~ 位逻辑非运算 整型,字符型 整型 1 ~a
& 位逻辑与运算 2 a & b
| 位逻辑或运算 2 a | b
^ 位逻辑异或运算 2 a ^ b
<< 位左移运算 2 a<<4
>> 位右移运算 2 a>>2
1、位逻辑非运算
位逻辑非运算是单目的,只有一个运算对象。位逻辑非运算按位对运算对象的值进行非运算,即:如果某一位等于0,就将其转变为1;如果某一位等于1,就将其转变为0。 
比如,对二进制的10010001进行位逻辑非运算,结果等于01101110,用十进制表示就是: 
~145等于110;对二进制的01010101进行位逻辑非运算,结果等于10101010。用十进制表示就是~85等于176。
2、位逻辑与运算
位逻辑与运算将两个运算对象按位进行与运算。与运算的规则:1与1等于1,1与0等于0。 
比如:10010001(二进制)&11110000等于10010000(二进制)。
3、位逻辑或运算
位逻辑或运算将两个运算对象按位进行或运算。或运算的规则是:1或1等1,1或0等于1, 
0或0等于0。比如10010001(二进制)| 11110000(二进制)等于11110001(二进制)。
4、位逻辑异或运算
位逻辑异或运算将两个运算对象按位进行异或运算。异或运算的规则是:1异或1等于0, 
1异或0等于1,0异或0等于0。即:相同得0,相异得1。 
比如:10010001(二进制)^11110000(二进制)等于01100001(二进制)。
5、位左移运算
位左移运算将整个数按位左移若干位,左移后空出的部分0。比如:8位的byte型变量 
byte a=0x65(即二进制的01100101),将其左移3位:a<<3的结果是0x27(即二进制的00101000)。
6、位右移运算
位右移运算将整个数按位右移若干位,右移后空出的部分填0。比如:8位的byte型变量 
Byte a=0x65(既(二进制的01100101))将其右移3位:a>>3的结果是0x0c(二进制00001100)。
在进行位与、或、异或运算时,如果两个运算对象的类型一致,则运算结果的类型就是运算对象的类型。比如对两个int变量a和b做与运算,运算结果的类型还是int型。如果两个运算 
对象的类型不一致,则C#要对不一致的类型进行类型转换,变成一致的类型,然后进行运算。 
类型转换的规则同算术运算中整型量的转换则一致。
由位运算符连接整型量而成的表达式就是位运算表达式。
c#二进制、十进制、16进制之间的转换的更多相关文章
- bgcolor RGB 和16进制之间的转换,16进制转RGB,源码
		<p>bgcolor RGB 和16进制之间的转换,16进制转RGB,源码例如:<br /> 输入 201,255,201 转换成 #C9FFC9</p> < ... 
- python常用的十进制、16进制之间的转换
		一 整数之间的进制转换: hex(16) # 10进制转16进制 oct(8) # 10进制转8进制 bin(8) # 10进制转2进制 二 字符串转整数 int(') # 字符串转换成10进制整数 ... 
- java字节数组和16进制之间的转换
		/* * To change this template, choose Tools | Templates * and open the template in the editor. */ pac ... 
- 10进制与16进制之间的转换 delphi
		delphi中有直接把10进制转换成16进制的函数: function IntToHex(Value: Integer; Digits: Integer): string; o ... 
- JavaScript中字符串与16进制之间的转换
		一.字符串转换为16进制 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ... 
- javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)
		//十进制转其他 var x=110; alert(x); alert(x.toString(8)); alert(x.toString(32)); alert(x.toString(16)); // ... 
- matlab学习笔记10_6 字符串与数值间的转换以及进制之间的转换
		一起来学matlab-matlab学习笔记10 10_6 字符串与数值间的转换以及进制之间的转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合 ... 
- js中数值各进制之间的转换
		十进制转换为二进制 toString()方法可把一个 Number 对象转换为一个字符串,并返回结果.语法如下: NumberObject.toString(radix); 其中,radix为可选.规 ... 
- C语言学习笔记之进制之间的转换
		这一篇主要是对进制之间转换的讲解,方便查看,以防忘记 二进制 逢二进一 八进制 逢八进一 以0开头, 0就是8进制的标志 十进制 逢十进一 ... 
随机推荐
- CSM认证培训知识汇总
			后两天的CSM训练.我们非常颠覆旧观念,有关的一些观点的简要培训记录: 约定大于监管:监督是管理水平.或旧有格局,该公约是一个团队与自己的法规. 工具:传统的管理工具和服务经理,还有许多人是PM正在使 ... 
- SQL随着子查询结果更新多个字段
			笔者:iamlasong 要求:表格内容需要改变,在临时表中内容的变化,使用SQL官方声明更新表若干领域. 假设更新一个字段,直接用字段名=子查询就能够了,多个字段更新,将字段在括号里并列写出就可以, ... 
- HDOJ 3037 Saving Beans
			如果您有n+1树,文章n+1埋不足一棵树m种子,法国隔C[n+m][m] 大量的组合,以取mod使用Lucas定理: Lucas(n,m,p) = C[n%p][m%p] × Lucas(n/p,m/ ... 
- 零基Github Page个人博客建立教程无限的自由流动
			本文介绍了什么是Github Page.以及如何使用Github Page搭建一个免费的.无限流量的个人博客并绑定独立域名. 一.前言 1.1 为什么要用Github Page搭建博客 借用阮一峰老大 ... 
- ftk学习记录(脚本文章)
			[声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 上一篇说到了对话框.今天就看看结果. watermark/2/text/aHR0cDovL2Js ... 
- document.domain跨域
			原文:[转载]document.domain跨域 document.domain 用来得到当前网页的域名. 比如在地址栏里输入: javascript:alert(document.domain); ... 
- MVC4的过滤器
			过滤器 提供的四种基本类型过滤器接口,IAuthorizationFilter.IActionFilter.IResultFilter和IExceptionFilter,可通过继承对应的接口和Filt ... 
- 使用excel微调button调整日期
			笔者:iamlaosong excel提供了一个调整的数字button.用来调节单元格增加或减少数量.因为它需要值是0-30000.所以不能直接用其调节日期.但能够使用"初始日期+调节值&q ... 
- javascript权威指南(6) - 对象
			JavaScript对象可以从一个称为原型的对象继承属性,这种"原型式继承"(prototypal inheritance)是JavaScript的核心特征.除了字符串.数字.tr ... 
- ExecutorService 建立一个多线程的线程池的步骤
			ExecutorService 建立一个多线程的线程池的步骤: 线程池的作用: 线程池功能是限制在系统中运行的线程数. 依据系统的环境情况,能够自己主动或手动设置线程数量.达到执行的最佳效果:少了浪费 ... 
