首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于 无符号数 跟 有符号负数 在内存中的区别

2012-06-25 
关于 无符号数 和 有符号负数 在内存中的区别?比如 无符号的255 和有符号的 -1在内存都是 1111 1111 表示

关于 无符号数 和 有符号负数 在内存中的区别?
比如 无符号的255 和有符号的 -1
在内存都是 1111 1111 表示吧

那计算机在读取这段内存的时候是根据什么来决定
要读成255 还是 -1 的呢

悲催的问题,狠简单的问题
可是真不懂啊

[解决办法]
比如 无符号的255 和有符号的 -1
在内存都是 1111 1111 表示吧



那计算机在读取这段内存的时候是根据什么来决定
要读成255 还是 -1 的呢

读成:1111 1111

悲催的问题,狠简单的问题
可是真不懂啊

内存就是内存, -1 和255 存在1字节里都是1111 1111, 问题是怎么解释它, 也就是char还是unsigned char的问题。
[解决办法]
根据指令来决定的
处理有符号和无符号数的指令是不一样的
[解决办法]
举个最简单的例子

C/C++ code
signed char a = -1;unsigned char b = (unsigned char)-1;int va = (int)a;int vb = (int)b;printf("va = %d, vb = %d\n",va,vb);
[解决办法]
探讨
引用:
那计算机在读取这段内存的时候是根据什么来决定
要读成255 还是 -1 的呢

读成:1111 1111

悲催的问题,狠简单的问题
可是真不懂啊

内存就是内存, -1 和255 存在1字节里都是1111 1111, 问题是怎么解释它, 也就是char还是unsigned char……


那解释是在哪一步处理的呢
我们定义的char 、un……

[解决办法]
探讨

引用:
那计算机在读取这段内存的时候是根据什么来决定
要读成255 还是 -1 的呢

读成:1111 1111

悲催的问题,狠简单的问题
可是真不懂啊

内存就是内存, -1 和255 存在1字节里都是1111 1111, 问题是怎么解释它, 也就是char还是unsigned char……


那解释是在哪一步处理的呢
我们定义的char 、……

[解决办法]
根据程序指令来决定读取内存中的数据方式。
[解决办法]
在内存中没有什么区别,关键是你站在无符号数的角度,还是有符号数的角度去看问题。

同一个东西,你站在不同的角度,看到的东西就是不一样的。

热点排行