搜索
首页 电脑/网络 程序设计

c语言数据基础?

全部回答

2007-10-15

0 0
无符号数 是两个字节16位 因为没有符号负1表示为原码是00000000 00000001补码除了符号位之外 取反加1后就是11111111 11111111所以是 2的16次方 65535长整型为四个字节 b的问题你可以自己推一下

2007-10-15

30 0
无符号整形变量的值不能为负。至于b的问题,我也不知道。我试了一下,不论是用“%d”、“%u”、“%ld”还是“%lu”的格式输出,都是正常的。或许你应该把源代码发上来看看。

2007-10-15

48 0
    首先数据在内存中是以二进制形式存放的,无符号的变量只能存放不带符号的整数,且实际上是以补码表示的。所以相当于求出它的补码就行了。无符号基本整形是16位的,取值范围为0至65535正数的原码和补码相同;负数的不一样。
  现求负数补码取-1的绝对值1 二进制0000000000000001(1的原码)取反 1111111111111110再加1得-1的补码 1111111111111111即65535有符号的最左边的那一位数是表示符号的,0为正,1为负;无符号的代表数字。
    整形变量的最大允许值为32767如果超过又会从头开始即-32768这叫溢出。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
程序设计
硬件
电脑装机
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
程序设计
VB
数据库
C/C++
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
举报
举报原因(必选):
取消确定举报