c语言为什么是2的15次方,在C语言中为什么int型的取址范围为-2的15次方到2的15次方减1?...
满意答案
lvhelen
2014.11.28
采纳率:40% 等级:9
已帮助:164人
这得从二进制的原码说起:
如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1=32767
最小为1111111111111111=-2的15次方减1=-32767
此时0有两种表示方法,即正0和负0:0000000000000000=1000000000000000=0
所以,二进制原码表示时,范围是-32767~-0和0~32767,因为有两个零的存在,所以不同的数值个数一共只有2的16次方减1个,比16位二进制能够提供的2的16次方个编码少1个。
但是计算机中采用二进制补码存储数据,即正数编码不变,从0000000000000000到0111111111111111依旧表示0到32767,而负数需要把除符号位以后的部分取反加1,即-32767的补码为1000000000000001。
到此,再来看原码的正0和负0:0000000000000000和1000000000000000,补码表示中,前者的补码还是0000000000000000,后者经过非符号位取反加1后,同样变成了0000000000000000,也就是正0和负0在补码系统中的编码是一样的。但是,我们知道,16位二进制数可以表示2的16次方个编码,而在补码中零的编码只有一个,也就是补码中会比原码多一个编码出来,这个编码就是1000000000000000,因为任何一个原码都不可能在转成补码时变成1000000000000000。所以,人为规定1000000000000000这个补码编码为-32768。
所以,补码系统中,范围是-23768~32767。
因此,实际上,二进制的最小数确实是1111111111111111,只是二进制补码的最小值才是1000000000000000,而补码的1111111111111111是二进制值的-1。
20分享举报
c语言为什么是2的15次方,在C语言中为什么int型的取址范围为-2的15次方到2的15次方减1?...相关推荐
- 设c语言中 一个int型数据库,最新真实全国二级C选择题真题第1套
1.下列叙述中正确的是 A.循环队列是顺序存储结构 B.循环队列是链式存储结构 C.循环队列是非线性结构 D.循环队列的插入运算不会发生溢出现象 2.下列叙述中正确的是 A.所有数据结构必须有根结点 ...
- 电子科大专科c语言作业1,电子科大15春《C语言(专科)》在线作业试卷.docx
电子科大 15 春< C 语言(专科)>在线作业 一.单选题(共20 道试题,共100 分.) 1.对于 int*p;inta[];p=a;的合法运算 () a++; p=a;p++; 相 ...
- 【历史上的今天】10 月 15 日:FORTRAN 语言正式问世;支付宝诞生第一笔交易;Tcl 语言发明者出生
整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 10 月 15 日,在 14 年前的今天,中国网通与中国联通正式合并,缓解此前联通将北方县以下营业厅 ...
- 西北工业大学c语言程序设计试题,西北工业大学15春《C语言程序设计》在线作业答案...
西北工业大学15春<C语言程序设计>在线作业9 t# F4 Z* m* M% N" T- d 试卷总分:100 测试时间:--- u7 j) [/ o# B& [2 ...
- c语言左移15位,关于c语言中左移右移运算符的问题
参照<c与指针>,在c语言中左移时,不论算术左移还是逻辑左移效果都是相同的.而且对于有符号和无符号类型执行相同的操作,即按照二进制位向左左移N位.例如: 1 clude 2 intmain ...
- 开涛spring3(5.15.2) - Spring表达式语言 之 5.1 概述 5.2 SpEL基础
5.1 概述 5.1.1 概述 Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts ...
- 1-5 第一个C语言程序
一.课前准备 码云/Github:每天写代码.托管开源项目 Github使用教程(b站鹏哥的视频) Xmind思维导图软件(学会善于总结,一单元一总结在导图里) 拒绝做伸手党!!!(先思考,遇到问题不 ...
- 联想小新15用什么C语言程序,长处更长 优点更优 联想小新Air 15 2019首测
原标题:长处更长 优点更优 联想小新Air 15 2019首测 15.6英寸笔记本有以下几点优势:一是屏幕更大,视觉体验更好:二是键盘区可以容纳右侧独立数字键盘,对于经常需要用到数字按键的朋友来说非常 ...
- 为备考二级C语言做的代码练习---辅导资料《C语言经典编程282例》--(1)
因为二级考试的时候用的C语言编译器是VC++6.0 真是日了狗了 用这个编译器 这是我第2个C编译器吧,第一个用的是啊哈C编译器..第二个是VS++6.0 然后在win下用VS2013感觉挺不错的 毕 ...
最新文章
- 工业物联网的应用领域与方向
- linux php 如何停止,如何关闭linux
- VS创建props属性表并在新项目中导入props属性表
- oracle中的null 字段,Oracle下的NULL字段
- 无人值守的自动 dump(一)
- C# 多线程控制 通讯 和切换
- golang 接口类型 interface 简介使用
- S2SH 第一次整合的经历
- 2021年中国主轴修复服务市场趋势报告、技术动态创新及2027年市场预测
- 【“计算机科学与技术”专业小白成长系列】Peter Norvig:十年学会编程
- magisk卸载内置软件_手把手教你使用ADB卸载手机内置App软件
- 阿里云商标注册申请智能、顾问和安心区别及选择攻略
- 【程序员节】1024程序员节专属程序员的浪漫
- Windows XP SP3版本美化成Vista界面详解
- 【年终总结】你好2021,再见2020。
- [jQuery学习系列四 ]4-Jquery学习四-事件操作
- html源代码资源网,利用HTML源代码,挖掘网络资源
- 第三回 利器,我的DHCP
- AssetBundle文件结构浅析
- 直博清华的元气少女!本科就发表了SCI...
热门文章
- sqlserver 主键自动生成32位guid
- ACE 开 发 环 境 构 建 笔 记
- 安装linux系统后要做的事情
- 华为防火墙双机热备(VGMP+HRP)理论+实操!
- android notifydatasetchanged 刷新错误,Android中适配器的notifyDataSetChanged()为何有时不刷新...
- 弱电控制强电(电子)项目--物联网工厂创业项目(智能家居核心)
- MySQL数据库安装和Navicat for MySQL配合使用
- Chrome的小恐龙被我“开挂”了,看我如何用一行代码让它拥有不死之身
- 电线电缆、电线、网线等的表示方法(规格、型号)电线规格电线网 yjv 电线电缆规格型号表(一)...
- matlab连续型随机变量,一维连续型随机变量及其概率密度[精选].ppt