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语言中的变量的更多相关文章

  1. C语言中计算变量占用内存空间

    C语言中计算变量占用内存空间 在C语言中通常用[sizeof]运算符计算变量占内存空间,如下面的例子:

  2. C 语言中的变量为什么不能以数字打头

    C 语言中的变量为什么不能以数字打头? C 语言中的变量为什么不能以数字打头? 不要告诉我编译原理书上有.我暂时看不懂. 除了下面的解释外, “假如变量名允许以数字开头的话,那么语法分析器在解析一个全 ...

  3. C语言中不同变量的访问方式

    C语言中的变量大致可以分为全局变量,局部变量,堆变量和静态局部变量,这些不同的变量存储在不同的位置,有不同的生命周期.一般程序将内存分为数据段.代码段.栈段.堆段,这几类变量存储在不同的段中,造成了它 ...

  4. Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数

    Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...

  5. Go语言中的变量

    1 概述 变量(Variable)是程序运行过程中,内容可以变化(修改)的量,变量的功能是存储用户的数据,是计算机语言中能储存计算结果或能表示值抽象概念.变量,是通过变量的标识符定位值的过程.变量的内 ...

  6. go语言中在变量后加上接口是什么意思?

    如题刚刚开始学习go 语言有些不懂: a.Data = make(map[string]interface{}) 我认为它是在申请a.Data map为字符串类型的空间,那么它后面接一个空的inter ...

  7. 【R语言入门】R语言中的变量与基本数据类型

    说明 在前一篇中,我们介绍了 R 语言和 R Studio 的安装,并简单的介绍了一个示例,接下来让我们由浅入深的学习 R 语言的相关知识. 本篇将主要介绍 R 语言的基本操作.变量和几种基本数据类型 ...

  8. 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)[转]

    c语言中变量分为四类,分别是 1.auto   自动变量 2.static   静态存贮分配变量(又分为内部静态和外部静态) 3.extern  全程变量(用于外部变量说明) 4.register   ...

  9. 你知道嵌入式C语言中各变量存储的位置吗?

    局部变量.局部静态变量.全局变量.全局静态变量区别如下: 局部变量: 栈区: 局部静态变量:静态区: 全局变量: 静态区的常量区: 全局静态变量:静态区. 在进行C/C++编程时,需要程序员对内存的了 ...

  10. dart系列之:dart语言中的变量

    目录 简介 dart中的变量 定义变量 变量的默认值 Late变量 常量 总结 简介 flutter是google在2015年dart开发者峰会上推出的一种开源的移动UI构建框架,使用flutter可 ...

随机推荐

  1. 在当前Server上找某某object,注意只需修改"要找的object"就可以使用

    ---在当前Server上找某某object,注意只需修改"要找的object"就可以使用EXEC sp_MSforeachdb 'use ? ;IF EXISTS(SELECT ...

  2. ADB pm 命令

    usage: pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_TER] pm list permission-grou ...

  3. 微信开发jssdk入门

    一个项目需要在微信里获得当前位置,于是就开始了我的微信开发之旅... 微信JSSDK说明文档http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9 ...

  4. Ubuntu Server 16.04下ASP.NET Core Web Api + MySql + Dapper在 Jexus、nginx 下的简单测试

    一.环境及工具 1.服务器 VirtualBox5.1.4 安装 Ubuntu Server 16.04 amd64 MySql Ver 14.14 Distrib 5.6.21 Jexus 5.8. ...

  5. Gym 100917J---dir -C(RMQ--ST)

    题目链接 http://codeforces.com/gym/100917/problem/D problem description Famous Berland coder and IT mana ...

  6. Intellij Idea上传本地项目到Git

    方法一:选择菜单VCS-Import into Version Control - Share project on Github,填写仓库名和github账户之后,点击"Share&quo ...

  7. Sublime搭建Python开发环境

    print ('hello world!') 1. 下载python,并设置path系统环境变量:当在命令行中输入python,出现如下界面,显示安装成功. 2. 安装最新的sublime,使用注册机 ...

  8. Hewlett-Packard Enterprise 实习总结日记

    人生的第一份正式的实习工作时在HP,受益颇多.突然要离开了,还是非常舍不得的.在公司实习这半年多时间,写篇博客,对这期间的成长经历做一些总结.先说一个典故:我叫史蒂夫·乔布斯,我想找一些零件来做一台频 ...

  9. Scalaz(10)- Monad:就是一种函数式编程模式-a design pattern

    Monad typeclass不是一种类型,而是一种程序设计模式(design pattern),是泛函编程中最重要的编程概念,因而很多行内人把FP又称为Monadic Programming.这其中 ...

  10. [moka同学笔记]YII2.0 判断签约状态,sql的两种查询方法

    方法一: //判断签约状态 $signed = 0; $sql="SELECT * from usho_community_sign_record WHERE com_id=$r->i ...