为什么8位有符号数的范围为[-128, 127]?

这是一个困惑了我很几年的问题,每一本语言书上都会写8位有符号的取值范围是-128~+127,至于为什么不是-127~+127,不求甚解的做法维持了好几年,前一阵子,工作中需要确定SACEM的取值范围,总算是研究了一下。

涉及非常非常基础的原码、反码、补码知识。

如果用8位来表示无符号整数的话,范围是0 - 255了,无异议,加上符号,用最高位表示,0为正,1为负,范围自然就变成了-127 - 127,这也是无异议的,-127 - 127的这个说法是我们平时交流时使用的说法,对应于计算机中的原码,但是在计算机中,数字并不是以原码保存,而是以补码保存。

正数的补码与原码相同,负数的补码为原码除符号位以外取反加1。

这里就有一个很奇葩的数字了:0!我们对0的理解是,+0和-0一样,都是0,但是计算机中就不一样了。

Read More →

使用Bluetooth与手机传送文件

 手机蓝牙一直处于闲置状态,不充分利用怎么对得起花的银子?

机子是T410,一直找不到收发文件的地方(已配对),更新驱动之后,在设备处看到的手机已有控制选项:

点击【控制】后,可以从PC向手机传送文件,如下:

可是没有找到可以接收文件的地方,网上搜索的大量信息中提到的右击【接收文件】一直没找着...

Read More →

SyntaxHighlighter, a fully functional self-contained code syntax highlighter!

 源代码显示解决方案找到了,来自 http://www.cnblogs.com/skyivben/archive/2012/03/18/2404749.html 的推荐。

SyntaxHighlighter,支持多种语言,不错,推荐给大家~~

SyntaxHighlighter is a fully functional self-contained code syntax highlighter developed in JavaScript. To get an idea of what SyntaxHighlighter is capable of, have a look at the demo page.

SyntaxHighlighter is currently used by ApacheAptanaMozillaYahooWordpressBug LabsFreshbooks and others.

试了一个C#的样式,还不错,例子地址:http://minsblog.com/Notes/Article-921.html

Read More →

关于lvalue required as left operand of assignment

海鹏遇到了一个问题,提示这个错误,语句为:

(GM_UINT8)(*p) |= a;

提示:lvalue required as left operand of assignment

思考:lvalueh是左值的意思,是指可以被赋值的表达式。左值位于赋值语句的左侧与其相对的右值(rvaule)则位于赋值语句的右侧。
赋值语句都必须有一个左值和一个右值。左值必须是内存一个可存储的变量,而不能是一个常量。

*p 在强制类型转换后,不再是一个可存储的变量。

Read More →

找到一个不错的blockquote样式

 一直觉得blockquote的样式很难看,对于有强迫症的人来说,是不能接受的,必须把它给换了!嗯!

openquote3.gif和closequote3.gif直接从网页保存吧~

blockquote {
padding-top: 22px;
margin: 5px;
background-image: url(images/openquote3.gif);
background-position: top left;
background-repeat: no-repeat;
text-indent: 65px;
}
...

当然要尊重一下原创者的劳动成果,来自Iteye,http://2015.iteye.com/blog/890633

Read More →
Card image cap

网络中的8根细线

公司设备间通讯的线路都只有4根细线,一直不明白是什么原因,今天查了一下,原来在10M/100M网络环境下,8条网线确实只有1236四条线在导通,按通信学来说另外四条可以起到屏蔽电磁干扰的作用,每两根按一定的密度缠绞在一起,在传输电信号时相互之间辐身出的电波就会相互抵消,有效的消除干扰。双绞线这个名字也是因为这样的结构而引伸出来的。

网友亲测过用一条8芯网线当两条用,一样的可以跑到100M,平时在公司也有大量使用4芯线进行调试的情况,毫无压力。

1000M网卡数据传输是双向的,需要使用四对线,即8根芯线;100M以下,一般使用1、2、3、6,四根线。按标准是橙色、绿色共四根线。其中1、3一组,2、6一组,4、5为备用线,7、8则为电话线。

Read More →

IDataParameter[]使用

从表面上看,IDataParameter[]的实例就是一个IDataParameter的数组。而IDataParameter实际上是不能直接实例 化的,所以这种数组其实很不常见,仅仅会出现在函数的入口参数里面。且多以params的形式出现。这样做的好处是令这个函数可以对付所有的数据库。

IDataParameter[]简单的说来,就是可以包含任何数据库参数的数组,这些参数可以是SqlParameter或者OleDbParameter,但是,IDataParameter[]不可以直接从SqlParameter[]转换过来。

下面是三种创建IDataParameter[]的方法:

一、直接构造:

IDataParameter[] parameters = 
              new IDataParameter[]{ sqlparameter1, sqlparameter2, new SqlParameter(...); }

二、通过ArrayList转换。

ArrayList paramlist = new ArrayList()
paramlist.Add( sqlparameter1 );
....
....
IDataParameter param = (IDataParameter[]) paramlist.ToArray( typeof( IDataParameter ) );

三、通过其他Parameter类型的数组创建。

SqlParameter[] _param = new SqlParameter[]{ .... }
IDataParameter[] param = new IDataParameter[ _param.Length ];
_param.CopyTo( param, 0 );

Read More →

将VIEWSTATE保存在服务器端,减少网络传输负载

ASP.net的VIEWSTATE,真是有点鸡胁,网上看到了这样一个方法可以减少网络传输:

//重写Page类中的LoadPageStateFromPersistenceMedium()和SavePageStateToPersistenceMedium(object state)方法。
//将VIEWSTATE保存在服务器端,减少网络传输负载

protected LosFormatter losFormatter = new LosFormatter();

protected override object LoadPageStateFromPersistenceMedium()
{
	string key = Request.RawUrl + "--viewstate";
	if (Session[key] != null)
	{
		MemoryStream stream = (MemoryStream)Session[key];
		stream.Seek(0, SeekOrigin.Begin);
		return losFormatter.Deserialize(stream);
	}
	return null;
}

protected override void SavePageStateToPersistenceMedium(object state)
{
	string key = Request.RawUrl + "--viewstate";
	MemoryStream stream = new MemoryStream();
	losFormatter.Serialize(stream, state);
	stream.Flush();
	Session[key] = stream;
}

Read More →

Silverlight开发工作开始环境

1.安装IIS 6.0 OR IIS 7.0 -可选

2.安装VS2008.exe

3.安装VS2008 9.0 Sp1.exe

4.安装Asp.netMVC.msi -可选

5.安装MSDN-RUL-Rewriting.msi -可选

6.安装开发版 Silverlight.2.0_Developer.exe

Read More →

js中innerHTML与innerText的用法与区别

在JS中可以使用:

test.innerHTML:也就是从对象的起始位置到终止位置的全部内容,包括Html标签。上例中的test.innerHTML的值也就是“<span style="color:red">test1</span> test2 ”。

test.innerText:从起始位置到终止位置的内容, 但它去除Html标签上例中的text.innerTest的值也就是“test1 test2”, 其中span标签去除了。

test.outerHTML:除了包含innerHTML的全部内容外, 还包含对象标签本身。上例中的text.outerHTML的值也就是<div id="test"><span style="color:red">test1</span> test2</div>

Read More →
在线学习答案查询入口
微信扫码联系
微信扫码联系