C语言中的变量
1. 计算机需要处理数据
2.数据需要保存在存储器上
3. 计算机只能识别0或者1的二进制数据
4.我们看到的,用到的所有数据在计算机中都是以二进制存储的
5.内存中的相同的01二进制数据,以不同的编码,可以有不同的展现形式
6. 十进制整数与二进制、八进制、十六进制相互转换
十进制转其他进制,取余法
二进制转八进制,每三位二进制转换为一位八进制
二进制转十六进制,每四位二进制转为一位十六进制
7. 原码、反码和补码的表示形式
在计算机中,数值以补码的形式存储的
正数的原码、反码、补码都一样,
负数的原码,最高位是符号位,其他位是数据位
负数的反码,符号位不变,其他位依次取反
负数的补码,是反码加1
8. 变量的定义
定义一个变量,需要告诉计算机,该变量的类型、变量名,可以同时告诉计算机该变量的初始值是多少。
变量的类型,决定了变量的存储方式,变量的长度(变量的取值范围),变量所能进行的操作
无符号整数,最高位就是数值位,
有符号整数,最高位就是符号位,
变量名来标识这块存储空间,用户通过变量名来访问这个变量
给变量赋值,实际上就是把这个值放到变量名所标识的存储空间中
int a = 5;
9.整型变量
short / int / long / long long这几种类型,这是有符号的类型
可以用unsigned来修饰这几种类型,变成无符号的数据类型,即第一位是数值位,而不是符号位
short -32768~32767
unsigned short 0~65535
需要特别注意的是,在计算机中,不看你怎么存,只看你怎么读,如:
unsigned short b1 ; //系统会在内存中给b1变量开辟两个字节的存储空间
b1 = -10; //把-10存储到b1 这块存储空间中
// -10补码 , 原码:1000 0000 0000 1010
// 反码:1111 1111 1111 0101
// 补码:1111 1111 1111 0110
所以,在b1变量中存储的 内容 就是 1111 1111 1111 0110
//在计算机中,不看你怎么存,只看你怎么读
因为,b1的数据类型是unsigned short, 如果把b1中的内容按%d的形式输出的话,原来最高位1就不再是符号位,而是数值位了,所以把1111 1111 1111 0110转换为十进制数就是 65526
printf("%d\n", b1); // 65526
printf("%x\n", b1);
short b2 = b1; //如果定义一个有符号的变量b2,把b1变量中的值,即 1111 1111 1111 0110赋值给b2后, 这一串二进制的最高位1,又变成符号位了,表示负数, 1111 1111 1111 0110的补码转换为十进制就是-10
printf("%d\n", b2); //-10
C语言中的变量的更多相关文章
- C语言中计算变量占用内存空间
C语言中计算变量占用内存空间 在C语言中通常用[sizeof]运算符计算变量占内存空间,如下面的例子:
- C 语言中的变量为什么不能以数字打头
C 语言中的变量为什么不能以数字打头? C 语言中的变量为什么不能以数字打头? 不要告诉我编译原理书上有.我暂时看不懂. 除了下面的解释外, “假如变量名允许以数字开头的话,那么语法分析器在解析一个全 ...
- C语言中不同变量的访问方式
C语言中的变量大致可以分为全局变量,局部变量,堆变量和静态局部变量,这些不同的变量存储在不同的位置,有不同的生命周期.一般程序将内存分为数据段.代码段.栈段.堆段,这几类变量存储在不同的段中,造成了它 ...
- Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数
Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...
- Go语言中的变量
1 概述 变量(Variable)是程序运行过程中,内容可以变化(修改)的量,变量的功能是存储用户的数据,是计算机语言中能储存计算结果或能表示值抽象概念.变量,是通过变量的标识符定位值的过程.变量的内 ...
- go语言中在变量后加上接口是什么意思?
如题刚刚开始学习go 语言有些不懂: a.Data = make(map[string]interface{}) 我认为它是在申请a.Data map为字符串类型的空间,那么它后面接一个空的inter ...
- 【R语言入门】R语言中的变量与基本数据类型
说明 在前一篇中,我们介绍了 R 语言和 R Studio 的安装,并简单的介绍了一个示例,接下来让我们由浅入深的学习 R 语言的相关知识. 本篇将主要介绍 R 语言的基本操作.变量和几种基本数据类型 ...
- 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)[转]
c语言中变量分为四类,分别是 1.auto 自动变量 2.static 静态存贮分配变量(又分为内部静态和外部静态) 3.extern 全程变量(用于外部变量说明) 4.register ...
- 你知道嵌入式C语言中各变量存储的位置吗?
局部变量.局部静态变量.全局变量.全局静态变量区别如下: 局部变量: 栈区: 局部静态变量:静态区: 全局变量: 静态区的常量区: 全局静态变量:静态区. 在进行C/C++编程时,需要程序员对内存的了 ...
- dart系列之:dart语言中的变量
目录 简介 dart中的变量 定义变量 变量的默认值 Late变量 常量 总结 简介 flutter是google在2015年dart开发者峰会上推出的一种开源的移动UI构建框架,使用flutter可 ...
随机推荐
- MSSQLLocalDB 连接字符串 vs2015
<add key="MSConnectionString" value="Data Source=(localdb)\MSSQLLocalDB;Initial Ca ...
- html5掷骰子的小demo
代码如下: <!DOCTYPE> <html> <title>柯乐义</title> <head> <script> var l ...
- wcf和web service的区别
1.WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单 ...
- QQ--模拟发表带图说说
发表说说之前,必须登录. 模拟QQ登录 >> http://www.cnblogs.com/deeround/p/4386629.html 发表带图说说,自然少不了上传图片,我这使用的PC ...
- iOS阶段学习第19天笔记(协议-Protocol)
iOS学习(OC语言)知识点整理 一.关于协议(Protocol)的介绍 1)概念:协议指多个对象之间协商的一个接口对象,协议提供了一些方法用在协议的实现者和代理者 之间通讯的一种方式 2) ...
- C#使用Process调用批处理阻塞问题
PS:又见到熟悉的C#代码了,好开心,哈哈哈.这次又跳坑了,好不容易才爬起来. 公司有自己开发的一套Submit.Compile.Publish的生命周期系统. 在Compile时,需要调用外部的 ...
- sql中 in , not in , exists , not exists效率分析
in和exists执行时,in是先执行子查询中的查询,然后再执行主查询.而exists查询它是先执行主查询,即外层表的查询,然后再执行子查询. exists 和 in 在执行时效率单从执行时间来说差不 ...
- Python语言and-or的用法
[原]python语言的 and-or 常常被用来实现类C语言中的三元运算符 : ? , 更为骚气的写法是 xxx and xxx or xxx and xxx or xxx,这样就可以可以做到 ...
- GitHub上新建或删除仓库Repository
一:新建仓库 在首页的New Repository,点击进入页面,输入和项目同名的仓库名就可以了.
- HDU 3328 Flipper 栈 模拟
首先想说,英语太烂这题读了很长时间才读懂......题意是说输入有几张牌,然后输入这些牌的初始状态(是面朝上还是面朝下),然后输入操作方式,R表示翻一下右边的牌堆,L表示翻一下左边的牌堆,直到最后摞成 ...