答初学者的几个问题

原创 2004年07月17日 14:40:00

我是一个高三毕业生,最近在学习C语言,遇到一点困难,希望各位高手能够指教一二。
1。为什么引如补码后,二进制计算会有不同效果?能够消除符号位影响?原理?
2。电脑使进制变十六进制是先变二进制再变十六进制的吗?
3。C中的10个0。1累加精确相加,不等于1,那不比计算器还差吗?
4。OxfffL与Oxffff相等吗?为什么?
5。那些原码,补码和偏移码需要懂得笔算吗?要学到什么程度才行啊?

第1个问题比较复杂.这里只简单的说一下:
补码的本质是把数轴的原点移到了最大整数的一半,所以在它全是正数,运算时没有负数.
因此没有符号位的问题.

它的好处是加减运算都可以一步完成.

第2个问题
计算机中没有数的进制概念,它只处理二进制数.
进制换算只是程序的一种算法,它可以采取你所说的方式,也可以采用其它方式.

第3个问题
二进制的0.1不等于十进制的0.1.
(十进制)0.1 = (二进制) 0.11111.... = (十进制)0.05 + 0.025 + 0.0125 + 0.00625 + .... != (十进制)0.1
所以计算机不能精确表达数学意义上的0.1(无限精度).它只能保证其误差(精度)在某个范围内.

在实际生活中,精度都不是无限的.有个故事,说英国的海岸线是不可测量的,因为如果用更小的尺子测量,
结果会变大.

第4个问题
0xfffL(三个f)当然不等于0xffff(四个f).

不过0xffffL == 0xffff. 原因是计算机比较时有保持精度的习惯,
如果两个数据的长度(精度)不一样,它会把较小的精度扩大到较大的精度.

第5个问题
最少要能口算加减法.会笔算乘除法.
数据不必要大.32以内即可.

口算64以内的十进制数到十六进制的转换.
熟记二进制到16进制转换.

J2EE初学者要理解的几个问题

  • 2008年05月19日 13:20
  • 27KB
  • 下载

Java初学者容易混淆的几个问题

  • 2009年03月23日 19:08
  • 6KB
  • 下载

心意答教学助手软件v3.01.021

  • 2015年01月12日 10:52
  • 26.67MB
  • 下载

关于SOA几个问题的理解

学习IBM CDL SOA设计中心PPT的几点体会,权当作为学习笔记,如有错误请指正,再次感谢IBM CDL王强、刘京提供的技术支持,谢谢 1、我对基于SOA的架构的概念的理解:        SOA...
  • jaminwm
  • jaminwm
  • 2008-12-01 16:11:00
  • 1286

令PHP初学者们最头疼的几个问题及解决办法

  • 2009年07月03日 00:07
  • 114KB
  • 下载

Centrex业务-呼叫代答

 呼叫代答 呼叫代答有同组代答及指定代答两种。   同组代答: 每一个用户组的任一分机的来话无应答时,组内其它用户可以代为应答(操作方式:当无人应答的分机振铃时,同组...
  • liujianfeng1984
  • liujianfeng1984
  • 2014-07-07 12:52:33
  • 1820

java初学者常见的几个问题

1.String类和StringBuffer类它们都是处理字符串的类,但是它们有一个最大的区别,那就是,String对象是存储你不能改动的文本字符串,相反,如果你希望改动,则应使用StringBuff...
  • lidahe
  • lidahe
  • 2005-12-23 09:32:00
  • 579

asp初学者注意的几个问题

  • 2008年10月11日 00:30
  • 2KB
  • 下载

心意答快拍仪使用说明

  • 2012年11月13日 08:58
  • 4.87MB
  • 下载

初学者最常问的几个问题

隔行如隔山,初学编程往往不知道从何入手,非常迷茫,以下几个问题是我经常被问到的,总结出来分享给读者。 1) 多久能学会编程? 这是一个没有答案的问题。每个人投入的时间、学习效率和基础都不一样。如果...
  • guxiaonuan
  • guxiaonuan
  • 2017-11-30 15:04:47
  • 84
收藏助手
不良信息举报
您举报文章:答初学者的几个问题
举报原因:
原因补充:

(最多只允许输入30个字)