对数据转换和数据读取的认识

作者在 2011-03-10 12:39:35 发布以下内容
如果您能通过计算得出下面程序的输出结果,那就说明:
1,您对ascii码有了不错的掌握;
2,您对数据在内存中的存储形式以及进制转换理解地很好;
3,您被计算机化了~\(≧▽≦)/~啦啦啦
 
程序如下:
#include <stdio.h>
int main(int argc, char *argv[])
{
 char a=0xddff;
 printf("%d\n",a);
 char b='A'+'32';    //注意辨别
 printf("%d  %c",b,b);
 return 0;
}     
 
   生有涯而思无涯……
默认分类 | 阅读 1116 次
文章评论,共15条
明晟
2011-03-20 09:34
1
a为-1,char 8 位,溢出后就只有0xff, 为有符号的就是-1.<br />
A的ascii值是65, '32'这个取的是后面的2,ascii是50,加起来就是115,就是字符s
尤慕思(作者)
2011-03-20 10:06
2
<div class="quote"><span class="q"><b>明晟</b>: a为-1,char 8 位,溢出后就只有0xff, 为有符号的就是-1.<br />
A的ascii值是65, '32'这个取的是后面的2,ascii是50,加起来就是115,就是字符s</span></div>领教了,向你看齐<img src="image/face/2.gif" class="face">
变幻小子
2011-03-21 13:18
3
你好&nbsp;&nbsp;路过看看
变幻小子
2011-03-24 19:13
4
你好&nbsp;&nbsp;路过看看
紫凤双飞
2011-03-27 17:52
5
<div class="quote"><span class="q"><b>明晟</b>: a为-1,char 8 位,溢出后就只有0xff, 为有符号的就是-1.<br />
A的ascii值是65, '32'这个取的是后面的2,ascii是50,加起来就是115,就是字符s</span></div>居然发现溢出,好强
逐梦的行星
2011-03-30 22:14
6
完全看不懂,呜呜~ ~
ynwpyv
2011-04-03 14:49
7
<div class="quote"><span class="q"><b>明晟</b>: a为-1,char 8 位,溢出后就只有0xff, 为有符号的就是-1.<br />
A的ascii值是65, '32'这个取的是后面的2,ascii是50,加起来就是115,就是字符s</span></div>'32'这个取的是后面的2----》》》》<br />
&nbsp; &nbsp; 这个我不是很懂,为什么不是32而是后面的2呢?&nbsp;&nbsp;请教下!
westerngoat
2011-04-04 14:28
8
长见识了。
枝繁叶茂
2011-04-06 19:19
9
为什么溢出后就是&nbsp;&nbsp;-1啊
尤慕思(作者)
2011-04-06 21:11
10
<div class="quote"><span class="q"><b>枝繁叶茂</b>: 为什么溢出后就是&nbsp;&nbsp;-1啊</span></div>一楼的明晟已经给了说明。16进制的0xddff占16位,而char型变量a只占8位,系统只读取后8位,即0xff,又a是signed char 类型的,0xff是二进制的1111 1111,即十进制的-1,所以输出a时是-1。<img src="image/face/2.gif" class="face">
枝繁叶茂
2011-04-06 21:53
11
哦 知道了。我纠结在把0xddff当一个个字符来处理来。当成是0xddff是32位了.....明白了 。多谢。
b1046439010
2011-04-07 16:51
12
能解释以下&nbsp; &nbsp;return 0的左营吗?或者return 的作用?
尤慕思(作者)
2011-04-07 20:52
13
<div class="quote"><span class="q"><b>b1046439010</b>: 能解释以下&nbsp; &nbsp;return 0的左营吗?或者return 的作用?</span></div>这里的mian是int型的函数,return 0;表示函数结束,不写也行的,但不是好习惯。
明晟
2011-04-13 20:39
14
计算机就是那么定义的,没什么可钻的。自己试试知道了。<br />
char a;<br />
a='abc';<br />
printf(&quot;%c\n&quot;,a);<br />
结果只打印c
尤慕思(作者)
2011-04-14 20:57
15
<div class="quote"><span class="q"><b>明晟</b>: 计算机就是那么定义的,没什么可钻的。自己试试知道了。<br />
char a;<br />
a='abc';<br />
printf(&quot;%c\n&quot;,a);<br />
结果只打印c</span></div>对有些知识就是这样接受的,以后许有更深的理解
游客请输入验证码
浏览70873次
最新评论